From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753352AbdECKc1 (ORCPT ); Wed, 3 May 2017 06:32:27 -0400 Received: from mail-he1eur01on0115.outbound.protection.outlook.com ([104.47.0.115]:62154 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750861AbdECKcU (ORCPT ); Wed, 3 May 2017 06:32:20 -0400 Authentication-Results: hallyn.com; dkim=none (message not signed) header.d=none;hallyn.com; dmarc=none action=none header.from=virtuozzo.com; Subject: [PATCH v3 0/2] Expose task pid_ns_for_children to userspace From: Kirill Tkhai To: , , , , , , , , , , , , , , , , Date: Wed, 3 May 2017 13:32:14 +0300 Message-ID: <149380742825.3812.2073418607639032138.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: HE1PR09CA0045.eurprd09.prod.outlook.com (10.174.50.13) To HE1PR0802MB2283.eurprd08.prod.outlook.com (10.172.127.13) X-MS-Office365-Filtering-Correlation-Id: 67fcd03b-be20-4f2a-5225-08d4920faae5 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:HE1PR0802MB2283; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2283;3:t07E+QJhd1hE+SgLNFA8BxjDjZn34vFWznaEg+Mtds8k4sP9r/oTUrZHEwFWtstXVP+3Ey9UPw1qtRpjkmBU8iX3FYBHCgVazV8zeTK7ULSV9dwlQ3eF01Gfy2uXiZcWSybJ2MfV5OBPS6fqwUsa2d612R5TxHeqeoNAspkaH6d1oKqdAPssAlzmFMO8lkox7kHAW2l3t1qkGLnwLV/Z4p/iCnGHk4OENu/p3arvhj98TkTWarRzfbNlzwywaWWsLkzRnG4fG+OZk2kdx9OE+BoM+W/UXP/6L2Cmr01JNRTi1otTHR5g95czTH18kh5x6Dzv1+b39aW+wXoguGpXKw==;25:MN9Q095zHSsGlvVH0/fV6dgvwINqK3Un244mJehf3In2OyHCilZP2UQsyoZHDOlESbexlALAZHDYETXpKF4JOnkxSn8FZixYVtwK292uy00y0sCZM789JsVm22RLyHrGGCb3xeraDkAdo/YUY9XZhFXhvaFUGy40wtQS17VUsGzXq6GbGzchBjVbbu0t+2wSBuob9HuMuXJS61ENgoBKuk0oD+Zna8DMQ7dKn3u7xOfFH+Tb2x/Xx/SAYMtFUjXiwByIFFSvMSJYJuuQaQIvydCmjShFjrEI8M+Spbimx/9A3lei/dIP4PGVt+njGiuOu2UBV7W0VM+5bPZxdaJsZH5IUyR4ddXmDeyLMQUnSqLfHYaNAOY7faO+m9Oq3ZV0qZDg/+pvupln986KPbde2arVZo2Q0ZvtnQC6N9hVbZ9ZL3RhJKIOdte1EqM3gHukjR1Z2USSRODXkEXACreuvg== X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2283;31:BWG0NzKASlY20XbPM4sR4nE+2XRn9vf8dqvEP2JXyHebEE8oGSBn3qYeoDOQOfWSwNF6hVTonV/A3A04P+TxFKB5oo8CcpF90MQYwjresEtJWUFHoW1Eo3pUzSa33l2Z9CeT0BjLtcklFvhTeba2sM3B15Yt11OzeE8l5La6enfUKm9fYjxAsDjjY6Nr3PD3clN9iDic/OPWvl/89/EqnbNMiUrh/8RwgxzPjzQqL0c=;20:IzN873KF5HLGO/WihZrjmYpgbSuMNV7jDG8jJo3qWtpP4nIugW8f/HQKxEx04Y0Ta2f54bn7otRo9LnoAch53CHHv6b3ScZSo1WRfvM0FPkXlm6KceJOjk7WN+VXW1z/gU/yFUiH9U6ajqs33pgfQwJLbxmZTmscngb/MBpl9Wuj2cKiG3kqUx4O9H97j4St2n2fQIE9IGw9EEntmz3dsujOmLKAPJVEMn3EzaKsEXHdENCBPhRabuTvZ30YUFXH/CPo3m2Wi1gf909rZKAtP7hThDtOA25PmHTSKzLFFmD+1KGGaTaHZE0jYPlHQ4hRRq3UWJck/UpqC3HFKGbBaeCBElUICusqMkh3Spc5lxObHBmJJ1Jd3eVCXyhflOXjFoehQ3dgRNXrl/h4qPUQdaSnMYQpb4TOXCfFyZXctWk= 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)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(20161123560025)(20161123564025)(20161123555025)(6072148);SRVR:HE1PR0802MB2283;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0802MB2283; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2283;4:vhrUL2ue2+InUMgiByixLUHWCmSvQbgZwaoiRc/4k3T4oUjk8GUqu3YNJs7jSesJl1PabpfBCP4xyyjVtThpCBZf6nIMq8+UMko0Mwa5Lk5/QYqpnpSOoeyD+BQ6OjwjJ7l7O5ccC9Y7SSjWnVUe900QGMcbMhuVnZ9HYD6dZnV1khFuNy6b2cQOXTRH5fOhos0OuLveDTVdrCS4IUbErSPmAKFfgbgMTySjBkT9BfPG/UM+IrNNGC3QEBcEFt+uo1EXxC43Xct32+n0y8U8iHoLUwLpxHN8WNjcHstPfSCSH3iSVhxjX6+JuJ35OUYIuFW0yg48ALqi5RmQYKBUWSPHn2ME6fyUdeBmj8WmObH6hsqgvBQfN4HZrD8z75/uQJe+iro4LRFWsCEEjuof35/FP9V00z7Qs/cslnHEQqZOr7a3m5jjgF9GjZLfCDrse1U7yFfI+7BQGuEehHJCH9I6znKyXSTIYHMKKLBF4vQzrCvnyjCnoQD1rNZSAJDrWxh3obGSH7w/ATtZ3f2L/SY6DIrPaCXpcm17QqoUFSuubXyJDBSPVy+foSABK9vP/vsaygIMpe44H1U+53SFBoCzxl6jTZPiobPIJr6vThit1yrmkwdvbI66eiLGMGzj4T0301Xadc9laK/p8DejKhnFRhOyS4OoqqfJ2s8fuYgUCQQ4T+lD1/q5LNwBn/KK9tSt0H1j63j0XnucVoUPXQ== X-Forefront-PRVS: 029651C7A1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6069001)(39450400003)(39840400002)(39400400002)(39410400002)(81166006)(7416002)(42186005)(53936002)(230700001)(8676002)(9686003)(189998001)(54356999)(83506001)(103116003)(86362001)(5660300001)(7736002)(50986999)(25786009)(305945005)(508600001)(2906002)(55016002)(6506006)(23676002)(61506002)(38730400002)(33646002)(2201001)(4001350100001)(50466002)(66066001)(47776003)(6116002)(3846002)(921003)(1121003);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0802MB2283;H:localhost.localdomain;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4MDJNQjIyODM7MjM6N0FhcjdxTGlkTm92WXVrUDZjZTZWR21z?= =?utf-8?B?VlBrdGJKVitBYWY4K2VHY3d0djdNUnBpMlVDT1pKVXJmaS9hb0gzbHRsRDFT?= =?utf-8?B?VGxKUnFqS1NoTGtKUXhOeUI2bEdrem9nRmg3N1crQ1QrZjJGRU1RZVBMNVgz?= =?utf-8?B?QlFwYkF2N1BqT3BvVzV3S2FnbUhXSzdxZnU5eThnTGx4VEhjWUZqcWZkWmt2?= =?utf-8?B?TGx2NDliV01oWEJDVFM0TEU2RHRRdVVMV1JnRnhUNVhmblczYkx2Sy8vcTFq?= =?utf-8?B?SFc5VVRPa2sxVFVjakRXczBOZXFIT05acHFrMnp2cnlhOEVrcXFHZUxOcWc1?= =?utf-8?B?WTl6Rk15bFdpTnYvLzJ6dUdKNmsyY0ZUY09JbDdCRml0MHZLci9SNEtGcE1P?= =?utf-8?B?dnNueXhTL2FxRDZnKzI4OHI1QUNNZTBCZURUdG1EUDQ0alRnazJuRldkSWZ5?= =?utf-8?B?S01UK2FVTnBwdUJ3TEMwVUdxdUY2M0dEVjVGWXcxdDQvTHNocEVYcDByTzZi?= =?utf-8?B?Q1RaRnV3RE5WUWtqcHhpblZlS3hXYWswYWJyMmcvNkZQZHB3SGVOT3loVmtw?= =?utf-8?B?aGZpL3hldEJZbGVuWUxHVUpHTUQ2dmVDd29Gb2RBV3B3YkJRMjRkako2Z1Rw?= =?utf-8?B?bjdpM2lhUzZXdlRycVNib0lUdHEvYWdSaFVvOW9GUUxYcmZCeWtDcGhjczFB?= =?utf-8?B?cy9RenpucVJBaGQ2cE1ORTNHZ0x2UE5YVXhFMWkxdHcwSG5XRFE1YmNySEpD?= =?utf-8?B?bU9PZ05EelV6ekNXYlllaDdkSFUreko5dGVtZnVEcVJPYWc3ejBjZTFYcWFp?= =?utf-8?B?WStCR1RKZlBCVTI1MUU2bnYxQm5VTGFpWm9EUjlxNTBzWmV4YmhueVVzWVlH?= =?utf-8?B?WXh0TWkyd0pDblhXckVXTzgzL21lNi82THJOMEUwenNpcW9Sa0JRWDhVcUo0?= =?utf-8?B?VnBQL2NDOWZoV0xXQTBVVmJkY0gzbjJTNVVYaWtjTTJ3ejI5aXhoTWREcHVz?= =?utf-8?B?cU9GMmhaMllyMndUaU1MMkdkRFpmOE16YjhReWM3NDZVY0dYcEd1OXBWdnRr?= =?utf-8?B?cURHRkpVaVROVEZiaE94Yy92b1R3RkNQTWhDQWN3NmZ1dUp3SHJma0pNck9Z?= =?utf-8?B?SGgrY21mZXZQVlhkSjgzNEhETnJCUGRhLzVqVGZ6UkUrd3dTcWpMQTRIMzdj?= =?utf-8?B?a3B4a203KzUweENvNTFhVjdwK01vWUdzNDMvQkVsQk1jN3MvMGtjdWNqbFg0?= =?utf-8?B?eE5TRUdsU2FsZjZySFd4Y09ob095TVMxWjVDQWIycE0xRnM1YUJKbHllOG5n?= =?utf-8?B?aTNVSkhiNk1SVEVWSjg3K1h5QXVYcFpsd3F6blp6Y3dJUTNlZnZkYjUxQUND?= =?utf-8?B?c3UyTXNaY3FNUEtoS1NmbUliLzQ0QnNUdmR0RFhMa1E9PQ==?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2283;6:K7/khNxibzKIRUY69zVm8a+5keKc55YADotR5gyV1wO5Nfdra8Aame0a6pgZz1PTSuH5MulmjTJueuHYgTrS0bZfEeIJX+/EWDVG21iyXCinFszkrIUjsoSgB3Dl/WzSh+DWeV66WRE1pPRp+1EnGSQ6t1okZsGdnMA74Mv9jTYVOPld+8hCvI84Tt/KRr6f1njiKTJkCiBDjssVU82YHDtCVl9tO5h5bSaaUkvpWYVDhE3FC6jXVsD2DHqWZD9z83obqnbctGzOabT9naE+Vb6zFoGFGcnTx8ZLQFXNaXRmu13i40YOlOeKfdzWH9T2+g48pJhCaEhsdb4rKMT+JQ+7gZK7zoJGopy3rZXVGC2qN4k2WbIhLyDujNyqW0M6z0EnZBMAsNEDrr5edexTNfz3F2YjWxdTJ6a6FbcW30jhf9UeuC11t5N7mYk48n5ojBaBfW0Ve51gVKoW0cZOlGZ5eeVMcyeY5JTkoQN6VMgvC19W7wepy/bj5Cc+eQ3tTm4mUYdv7WRf4ddaJRfa2Q==;5:muoHUkqhROJ2gkHkkTcTZgrPnSKdF31r5Qk22JAC+hyQYY06UzfJpJnoTRpC3ouhHulqqor1ry3q6/3PCH1dqnzDuMZVwmgFKrVBkSQ44Xvbe9vXVyFfGNGce6a2bUg+bP29rlBzutvrSra49Kb7Zg==;24:s1qSraV+5nSJYyc2hO0SCdv0YV81nzuPW8mV56p/oCAfekkSZvmESYKLM/8Hpadx0G1vMHICe0Q/3Xoy51l0+SFt9u+M5Z5cQKMoDtglqz8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2283;7:4MXL6N8Br6ItRvNn78PRIzs6QsQ+EMrpu62q/VWgWIXXLWZyKEjQWIU3FHY1BxnywGAQTK/sj06SjiNaTnzyAuaQwU0Q9Gcopp2dqwemprnQHOJynADyGLWeQ1KO4IAQpcIR6fBCSyg+cS5luT1gsACkHheuInB8I871n04UjlkDd3hxgvCldG8E9HsDy7ziunF2Ww8Tk5YLS1t3Ghody1lrCaTD34JsmhxM+zDlC0kXIIxMW9vXGvysdnPA+K9lw3kBWPnIYmvdkTjvvzlFtm7WMQpm0ubZwnB6eMfz7rOumSmRPY2G02/fBIzsdloE5krb+MLOE5IDBTEu1VkZpg==;20:HDV2G9lABeD0BQvj2d+gHzhRpKDglk9duNF0pHCXUc7rmGeFle8xVcajcYNytc0wccckFL7ucJkaF4Cb7mTgVnYDOa3VBQOp0lqBzoy+XJO2dmF5CbUnA5lbZKzXzHghbXoIovfWWP68A8el77zNU4LFicr4Yb3sSsn8YZE3iS4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2017 10:32:14.5974 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2283 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] v3: Check child_reaper without tasklist_lock as we are only interested in the fact it's not zero, and not in a specific value. 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 | 28 ++++++++++++++++++++++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) -- Signed-off-by: Kirill Tkhai