From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754183AbdDLPd2 (ORCPT ); Wed, 12 Apr 2017 11:33:28 -0400 Received: from mail-eopbgr00116.outbound.protection.outlook.com ([40.107.0.116]:34816 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752956AbdDLPdW (ORCPT ); Wed, 12 Apr 2017 11:33:22 -0400 Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=virtuozzo.com; Subject: [PATCH v2 0/2] Expose task pid_ns_for_children to userspace From: Kirill Tkhai To: , , , , , , , , , , , , , , , , Date: Wed, 12 Apr 2017 18:33:12 +0300 Message-ID: <149201102204.6007.8628824763325355297.stgit@localhost.localdomain> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR03CA0003.eurprd03.prod.outlook.com (10.163.170.141) To HE1PR0802MB2284.eurprd08.prod.outlook.com (10.172.127.14) X-MS-Office365-Filtering-Correlation-Id: fdb76f5c-71cd-4289-0f59-08d481b93e3e X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:HE1PR0802MB2284; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;3:LUtzvj2+tamvQTNlWYSDzZoE0hgNXMsJKOZGPSnZdM5vgQC/2PSO6QWgQGXjGlM9vVo9FR+dmn7IYXaorWoAmuvjaAwFLHYedsAAp/lkvUzbQdpKkTXexINoH/q8ehignk0C59y8B4HIli71eAXv/wgi50cG60awTe3i0ofqBdN3eUhnOApUTLWc5I/zhV2gfEq3DYWSzvdb0NzTsqJpfo+K5BtNucsnOtBaivUk1phyTqiHdotSg8DKRKAJQPYFqI+cMBiWXcLLnyO9reCDDbGZGbHKlN5Weu8ZP30kUsq39kpG5g9B/LQe3gLCZfM4o9M0KsNUi8z0BN+mWhTHWA==;25:VwDxgtfIt1Fa9zDoGO6HK6arB0x2k9BEGZu/dVY5wY8WGH8TszUsiLA3jUVj4/g3ugjX6OxLlZHOLaBLMAnzBTUIxLg21xfz0BB3E1q57yiF9oi8EdmsBgPHZfA92p9alGOp9pCNatb3yOdXDAJh3gxOX3TeyWFm38JX2z1pFDXiJzkbdtgZtboqYiQNKO9cUsTrRM3efiWLeED8K15/ODOkcxGxkUURgTUkOkwWzaxQ/fVT5pPEf7IBCk3K6JGL9Yenbt+nOvnt/QYINpeJgPPsWRMnsNoQgR6gpO5KWJZ5C8Rr5Bfw5dxZUgQS7jyIkjsKdLSewR12mncNrQ62CKlS+LP9Ir3qZFgZa5RfQDIBpKsSJEtWoqvGONWO51FVfqn8y3KZ4Ss01p6GqiigKEhVBdAS0e8+aDjWk3XcsrPWHNQsQWb7N12An5RJOjPGxtNw/3ImRBGP3iet6OgTHg== X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;31:p5h90d3/RRq7FVDdn/OAmEAqGxolqhUaIs0zkiAOlyu3GLDrnXdUmDb223KR9fPtc7SsODLbHFd7DvGSfCV2ZJ39g+VKIxzQNcKuA+ULS6ux/LUcToY9UMKU5NrAgNOe7nYYvDm6n3OzeyaMZcxr5oe1wpY20YBg1MtUbt3EQ2oXQXxHyVlEltRNOrOWsZRhsxPwddkANiu4YBnjUK/HaEaLPFBUtf188wc0l/X6638=;20:6iX3Abcp7ZAhh0KW/uRYT3AEhasTiMoRciAmWD+vIkoybCylO/BePuU3iPqugTXelJdq4IYdJ0Zm7N4XfDossH61P+3SE/iy62ZRIXDYc2JGWE/TE5NhLBMl0gogN76Pva9Yr5gC1CaQUnlNC/qdHBJW3YRQv1nHvpQvYVPIynmp905AIKH+MA5PDMGxa7H9EF+8rDNv3efpluEc9ZvTOFFWQ0UqOm+TroS3WtSjS1bw54lajXnRKfKUZfyUKnED29zH7P9qfrPc1dFgWG5BC3r5oR3DQlefFxle1Vd37ISv93/irF52wkkbOBFGxzakU/eG8nvst4KinDiNFR+kUrqTBj4LgZZouziaPky4Jk5anc9g4INdtKwyReIX0P14fqepIoRWTqfTjfNSMbdZ9uvWCyd3UZ74oZCPYLHhi4M= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(20161123555025)(20161123564025)(20161123562025)(6072148);SRVR:HE1PR0802MB2284;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0802MB2284; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;4:MAFObhX9dqSe1DUiCZ/YU30ePLvz/wiV+jeU4UrppjBYEK9YROYzb25ImM9+rl2yIyrCXlv9G3q7DHPfiaOx0qANXR0KXhqg5vKQOH1vx6Obahg6IRu93P4MpEPMvtgdaneLMvG6If9kPOf5M2MUVBQUG7P7cyGJ22dhzYEWw8ZkVzf3RW3wulgHdXHb02rvMJVnbJk0o0BWZ0vigCzKJdBeAzw0EjOo6Teb7hsJFyUipguoQsVBoXb6K4TErcC2EUIeZGWdRwN+t1cZwjJagH9zBQbhH7MuuLS1sfm/X+p0Ld4BRRp2/9S3SO9Wsta9q++H/bM6g1dKYbwKyIgcWvRY8XgU/rrbOJvin2dielmYnfqGuIfhkqZIGz8rW7Sytmk4WzUntavHVGMrEHA27VMQbgei8W5rLx10IUCXs9yUBbc31cAcOK4NnmyhB6F3MXxt2rmunWcF61mOrTUCQD5HagV5XUf+f6bVjsrGjH/QAWf69sZkFrz/jplSmGEA7TUIHDpRaFWOUM7EIT7TBE+VbBoo3gakKaBSWlBbjo/bfqmKkfj3h8cE5YmmZsN5Qs/QfhfXQPBVToYYdV1o+yAQKlgPHYt1XhOi/f81VNhR+RWCMpnwioVVeoILV7yYHokpuDOCIYJvO6PM4Nzkd5UUoHZe2dAkbxxB8CvdJQCR3NzzlXfIojOeXGagpUlb2xCDZ7w06RBfBYn1L6TYbA== X-Forefront-PRVS: 027578BB13 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6069001)(39830400002)(39400400002)(39410400002)(39450400003)(230700001)(86362001)(8676002)(2906002)(50986999)(81166006)(305945005)(3846002)(6116002)(50466002)(7736002)(5660300001)(54356999)(7416002)(83506001)(66066001)(61506002)(23676002)(189998001)(33646002)(6666003)(42186005)(6506006)(9686003)(55016002)(53936002)(38730400002)(103116003)(25786009)(2201001)(4001350100001)(921003)(1121003);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0802MB2284;H:localhost.localdomain;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4MDJNQjIyODQ7MjM6STNVTEFwR2x6Rm1oRGg3YmF4YWNpNmps?= =?utf-8?B?bVBEK2hIMC9VK1Z1cURuVnNuVkhGbU44SnIzRnRBV29nKzdCYjJlRG9xbDVY?= =?utf-8?B?MHFLd0RlZ0Q2dUJJQ2ZSS1ozdUVRRHU5aFFIeTlWMXpoSmkzWGlrazBHSXhG?= =?utf-8?B?b21taUxDc1lBU1ZrVEt0MkVxRTlEM1lTYnloSCt3Yks0Q2UzaTJaTkRZRWYz?= =?utf-8?B?TkRtWExHYUJhMUU0Q2hUTGFBWS9DNU5TcEhhdnQxMlUzandaQWJtM2xRVzdU?= =?utf-8?B?ajQycEQ3Q1cvSGtyZ3VKZE9aT04xTVpua3JFUTlFa3lZcW8zVmVIY0FJY3Jn?= =?utf-8?B?OGRzRytBYUVqK0oySEFrcGtkYkZubGhhZGJqclJKTXdnL3BMS0tORmJCZnVu?= =?utf-8?B?a3IyRkpodGZXVGJFaXA3OW42RHN6Z3phcnh0RUplWHZlR1Z3d2tGZ05ZeXNB?= =?utf-8?B?NHlabVQ0eXJLRXdDODgya1pJbFpXRk9ZWDRrVFREMkM2SHZTRlFxclAreVZD?= =?utf-8?B?NnkrRGIzSFdLMlk3cE9NNFpwWXErcWIydUtCRllXQ1VaNlI3QXVhdHprak9E?= =?utf-8?B?bUFOS0YrakNpdW05TVZEdHZJNFFNTWZEWDJZSno4TlhEUXdOd2dnbXEwQS8x?= =?utf-8?B?dEJqdkFoTTIwM3NTSXo0N1pHUVNzYnFWQ0tMWndGeFR3cVU1bGxZakc0N1k4?= =?utf-8?B?TEdSNTZTNDF5K21FaUxzOTZjWkYrSTdUWktlb1hmbTlXVm1RK0JIK3dOQW9l?= =?utf-8?B?akxaSE5nTzBjLzVQUDhxb1hxSGlUQXdHTkQxOVp4UHNyWVBhYThTd2dYTnJX?= =?utf-8?B?ODlaV2ZIb1VsMUtuQ0lhTGpVVTZ4Tk5Bek8xaGNhTm9HekNWdS8zSkdTcVk3?= =?utf-8?B?OW5ZWnBmN1lPdTZpT3JYWU5EcXpsQk5JWExXVlJGYUhYeENWQWR5c1NxRjN3?= =?utf-8?B?NmdjMzBEdVZxamZTckRUYU9QaU0vVjJHVms3aU1MVUpMOVZiOVdydnRKM2Nw?= =?utf-8?B?UEZEMEVSS1BJaE96THE1YWl3RWVsV2x3NXhtVWlMQXhPdnBjVExFUy9YQW54?= =?utf-8?B?RHpnMWFvb043MG5EUGx1bVNNQjdzU1YxRVowOUUvZ2JSQ3JTczNjcGNMQlRy?= =?utf-8?B?VjNlM0hpSXc4Nyt6czNMcHdDTVkzdXJTeS8yVFovYlFIRWlLc3NLVk5tdUFw?= =?utf-8?B?VFFrOWxJZGpvQkd1eFp4UVFwZTJUTHpsMVlJS0VEcUJNUTRUbTh5b3RmOVZL?= =?utf-8?B?NWJmTnhKcUlqWjZ5eGRxazBOSHBHOWFoT25uZUUrQmtLUUZjY0tMaHBIMlQr?= =?utf-8?B?VEZXN2JCMnZUc3QrVG5FT05sdFNwWUpaT21Oako3clFoZ0NOMlBMVnNxL2gw?= =?utf-8?Q?YOe1/v03ka?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;6:69xnYySzw1uKQbAWGssDFQXQYFl70YWe8ERwrdWJ7jiq+jLRQzaJO5swzKnLYK4vn/RyYaFrCaKEyIv3L4KmdwdEKUPgSJpOHLvLnhGq/XgTiIfGuQqWAHm1zMD4nmk1qfPu2r2Lveb9RLO6yU8saLckYiM6XdN9Zz4ksxRtgnIqps6hlQUYNgertK6GgYqCj8CtNj2vmhxbT4lTskkeFhAaGogqWKqFhVC9fDMfdOehzYhsrWP0S8VdBMyoYbrYpkZEoLMSUvqd3MwqpPbha7HTVID6vci9jEO4Idqffw786GE9+m3gjxyLpIBqkFIgyELtIkgAuHfNsnAECt8xLGw7BRnGd5JXWkjXpITBeJgPI3LnlkADfNek9+Knr0Jz2OXbrb42Uladf8T3u5tP07Lumoarxqp4BRbewBoAl6Dspn5lwutgqroYo09wOzFSK2H1n/9E4HYVfBq65kQQ+g==;5:utlYmx1c657hFahulimDeMyhDTttiODyzesYB2HVl3pulo8c7SLMclV9ISUS5THk2fc4hi6w2les0AmEe4DXVv9uBKY0smrlnE9YbSFL/ed/zceYbExfInxyBKK30Yt8orTyCNaEPQUDNwq8qv4kKg==;24:y06JprsXylgEA4hzy0E8TsrrVlIFWzb+y9Fx4M6pVXaDeIHOzS03ZWTgO8tCGQL5oROTyoB1fbwKUzFw4Vvd/1jfIPdpTRymBm2LmHuTnmg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;7:lE9qfA9l7iYc95yGaF3xYCZVklxUmJsAzcFWvBn7BtH2fW3wT6sB065TNt5/ZgCRCeoUMj8KD7nrvU8oiG6fw1XUesZ5bqUIIsKpvUjuuOSQpHwS1KZXymF2IQI1LEPi4LGOKsIsktdq1fLBIZfIH8IRTTOHyBEcyfkqjyY/isv3lQ4KZ9VWT3Kk9rOBWP5pls9Dj5WFWNHFkbzP68tbhwvdonnZqG7UOovWsfF2IN6ZHTKGY6mjvpcf2qkLZB0p2L5wJZAZT/eBHG5VhaCpggXhXi+UGplDpKbzawOijl5XCPTOux3IuQ71bCohi7Yn0VzacVT2izxZuxMPY1otkw==;20:+g4fhpuYNZsuw8KcxNwoD3oT2qp/qwJaw2G2LHsahR44SHdefrNYHrVdorWDwa51HRLoL1Ih9Q126066UIvWO5MMYRKtTpRq8r/gh9cKZb4/BeX7+kN1E7Kuztcg8TTfXxrIeRjqjtjFLS84iKjRAyNJOuMMscU1Z+kQRO6VmdY= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2017 15:33:16.9862 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2284 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org pid_ns_for_children set by a task is known only to the task itself, and it's impossible to identify it from outside. It's a big problem for checkpoint/restore software like CRIU, because it can't correctly handle tasks, that do setns(CLONE_NEWPID) in proccess of their work. If they have a custom pid_ns_for_children before dump, they must have the same ns after restore. Otherwise, restored task bumped into enviroment it does not expect. This patchset solves the problem. It exposes pid_ns_for_children to ns directory in standard way with the name "pid_for_children": ~# ls /proc/5531/ns -l | grep pid lrwxrwxrwx 1 root root 0 Jan 14 16:38 pid -> pid:[4026531836] lrwxrwxrwx 1 root root 0 Jan 14 16:38 pid_for_children -> pid:[4026532286] v2: Do not allow to take a pid namespace, if there is no child reaper created. This prevents race between creation of the child reaper and other tasks. --- Kirill Tkhai (2): ns: Allow ns_entries to have custom symlink content pidns: Expose task pid_ns_for_children to userspace fs/nsfs.c | 4 +++- fs/proc/namespaces.c | 1 + include/linux/proc_ns.h | 2 ++ kernel/pid_namespace.c | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) -- Signed-off-by: Kirill Tkhai