From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99BE2C4332F for ; Mon, 30 Oct 2023 05:50:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B627A6B0184; Mon, 30 Oct 2023 01:50:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AEAD46B0185; Mon, 30 Oct 2023 01:50:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 964446B0186; Mon, 30 Oct 2023 01:50:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 819326B0184 for ; Mon, 30 Oct 2023 01:50:49 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4955C8041A for ; Mon, 30 Oct 2023 05:50:49 +0000 (UTC) X-FDA: 81401053818.04.C83E245 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2044.outbound.protection.outlook.com [40.92.74.44]) by imf22.hostedemail.com (Postfix) with ESMTP id 8D2CFC0007 for ; Mon, 30 Oct 2023 05:50:45 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=hotmail.de; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of bernd.edlinger@hotmail.de designates 40.92.74.44 as permitted sender) smtp.mailfrom=bernd.edlinger@hotmail.de ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698645045; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SYqA4IctbEkQT2KQ80rUDUKN8ziquz6/k+wW9c3GqA8=; b=5WRML0/41BxnunY7NAurtfmTR4R4bUEWmBO5Ti0I377sBTCyCUnnluD2lB3ajuS/2vnR3e CqFyWw90Ve4kU6GxHFqIuwkelMXRAl1x9vLcc+TYbeeUfItqcpt2Qw1D5AGaL1OrzBuTjT ofG/DswkMuaWpfDLyP2Jtx+1gu8UuhY= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=hotmail.de; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of bernd.edlinger@hotmail.de designates 40.92.74.44 as permitted sender) smtp.mailfrom=bernd.edlinger@hotmail.de ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1698645045; a=rsa-sha256; cv=pass; b=7847UbdKxceiO1dcC/lp/Drt8gRTFtHNayNzHeXXYw4Z5YyfY8o7TZts43jK39WMgd7ZyQ L4zpP3sGjeMHUUf3Ca8o1E5bzzmdLUHTGRytstHeFxpmjh7GmI6B75ztNz9OzYeyezLBK2 HpSW0D7NmkN1YpQTMBBdYSEM/Ry49z0= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UOEmX6LvXdfCsU6fkRTwY63qiDAvQjWxepYojkoN7Pz1SHqgAOkLvDRnxguHQ0b3D2tgG3sloqiNG/F4urzPOwQQBciXAwkMswe2R6xqCIowpHZ1dVk+Mhu6WaSscE1SqNy+rIkwbpaGrOZ0uyf5dtxcRiOMXd6Yp3m58xeoVAXQ7kUprQfmhWs77Swu5rm1Uav3RzPS/D70jLvMf0A5tzoPW8V6OdfkNSn6JncXt1Q0AI3WmdLil0d3go88npz/JkrlOg8Xe42NDSv43bwPjz20B5qRzo+x3rDayKyfA/T5IYy85/EQKVrWFns7K2/W6jN17lIx/DlBaPIGF/rdew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SYqA4IctbEkQT2KQ80rUDUKN8ziquz6/k+wW9c3GqA8=; b=kSKQy93T4lnhy7xLL9lUKxkP/8MnEL4f0kPTheHzEQaHxqsdEIVmJvGDI7jDbGzRYZxqey6exOImZbfv8ArpmBGrZpfCepWJaSE+A0K0oySpN10D+bI+Z3BkTgnID5M+ltHzwQA5xeYGuf4xLfVkbG3u/DoT6ENPd776ds6hc5xIE3Ohw7VrpEKdHHCdSG6Vub70dO/443a9z947CHCu3aFaeceFwZSppIFKbM3CPVImJYWbe/AltDq2/rpXdVTJEu207szgLRi7zcth5HLXq9gHedBGQFifpxzF39gGr7k/nI6oJNYLt4jhojR7JKXLoD+r+9y+fN7IUf/6nJjyug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from AS8P193MB1285.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:333::21) by DB9P193MB1580.EURP193.PROD.OUTLOOK.COM (2603:10a6:10:2a5::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.26; Mon, 30 Oct 2023 05:50:43 +0000 Received: from AS8P193MB1285.EURP193.PROD.OUTLOOK.COM ([fe80::b89e:5e18:1a08:409d]) by AS8P193MB1285.EURP193.PROD.OUTLOOK.COM ([fe80::b89e:5e18:1a08:409d%6]) with mapi id 15.20.6933.027; Mon, 30 Oct 2023 05:50:43 +0000 Message-ID: Date: Mon, 30 Oct 2023 06:50:54 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] Fix error handling in begin_new_exec Content-Language: en-US To: "Eric W. Biederman" Cc: Alexander Viro , Kees Cook , "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Christian Brauner , linux-mm@kvack.org References: <87mts2kcrm.fsf@disp2133> From: Bernd Edlinger In-Reply-To: <87mts2kcrm.fsf@disp2133> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TMN: [xmh7MVs1REkPjFB03ZFK1+1FxwbX7Jb9/ycdXtifm1V9gLtwxgGYXm0+4jr4W3u5] X-ClientProxiedBy: FR0P281CA0244.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:af::13) To AS8P193MB1285.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:333::21) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P193MB1285:EE_|DB9P193MB1580:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c5e6e80-2dea-405a-6754-08dbd90c275c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DmUd6cpr80h4kbg1MB4UUGzVPhP3NdIUaakqDVbiDs4tV1Xe4SjnoneUHJY8AGIPwoXYoaON2oSokXUUPtEQwiN7ExJzMA+jRgL1UtUAZ1i5CGf3Mb5iFnfhFos6q5wnQZD1MngY+JSy9BuxZdJXZXfhnRWcTqQzzxy0J/QIdZ+mNdQEOhV+mLzfN8I6SpNd0s6/eOT5Pa7HqjchJQH0Cp8CzHyMRyvdxzha5NLwD7p7a3x9FC2xnMNfegUXtly2yGEnkg2Xzo8IYHL2WxlqCHzntZCS113I61I1dTT9DlA36VeoSRrKwUTCBd8UInBee+ehbssWpIQ2JoWQ/7TT1pqy+GxJHEBkvjgrUe6pL7OUS7dwuGOYdvQYPQIELhLya8CRUCV6zKrPka4279XR4JEk5biXsojM26GX6qXFDSx2aUnOLD8N48fEsQpNrpusPSWD1nF4PSiwPwwR9scco6iU6NHKw9ew4uPpNjs8fVrVGO3hKHc2d7QIEg3pnFhbW5kUcZSXxD2g0RqTgDu46Z4w42cYHiwkKUOD2MYGCAgNyU94Sm4hv9F5e4MVXgmR X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dWM4K0QzWWFqbURMS0l3bGl6VzNGTUUvdG96Y2hVaDZQazJvcVI0dHIrdERN?= =?utf-8?B?UTlMOTNOTWVkOW9wVXlkakgydTVsV25heFY0TmIzT0htWGVCaU8xYWlpMzI3?= =?utf-8?B?YjMrUjFXSnh6UVQ2U0VHZ1VUVVMrQ1B5QndhYW1HWithMVRJVkZqUDlqR2FP?= =?utf-8?B?emVTNGx1ajBXeFZ5RUhpV2Q3YnQrbU1PWnF4OEF0VlhvMHlOeXIyYnJ1aDRL?= =?utf-8?B?cXlyckpQWlhaelFvSUowSE9yczNlMnlPWkV3OTRrdGJqbUpSbGVCL0Joa2g4?= =?utf-8?B?UEdJR3VzZXlmZHVXdm92NE1pbSsvRlhTcHJoUGVhTTE3d21BdTRzakpvQWs3?= =?utf-8?B?SkdIRFdkeE0rK1pSM2xYVnphQ3FkNXBMa2w3L3FzaURGVVA2blZpNGFIOUd6?= =?utf-8?B?am9wbjNzVEJ2amhBeEVjbTVnS2M3c0ZVVkxYa29IVmd3bHRtbjAwR0kzT1J6?= =?utf-8?B?TjJVTkp6UnZRdTA4dDVmaUdyMVVBUnIvOTRreXVjMGVwcmtKSlJjZ3RmVnd1?= =?utf-8?B?MmhRakI3UWp1UFNGQTZka081ZDFGR0xCTHBQSGFsTlcrUWFTbDJ6N0JkMThM?= =?utf-8?B?WFlUNzdGQXFvUkVRWGVtc0tyUCs2N3RScGtrTkxKSHlOV3ltdnR1ZTlLRHI3?= =?utf-8?B?WFdMSnBWYkdhQUJ5dDBQWG5yTmUzZTNtaDU1Rno4SzZuMVBGbkFlMjVsS1NG?= =?utf-8?B?ZHYzbXpBM3RGczVCaktqY2JVekt4UEF2TlRYU0JCN1dDdU5rU0pGaTBhWnUw?= =?utf-8?B?dkhlRzlUUjRhWjNLVUlySzZwYXJKMGNKUTF0WERzcmNIMk9YQWNEOGpyVVNO?= =?utf-8?B?bnBpM1NndlEyUVBuaDUvMWk1UFhNZDRMYUZCRDBGUHlCbmNuSEpBcCtqa3dU?= =?utf-8?B?MlE2VXVaTVFTdVBLM01HQkUwVkNWNEpHQUplS0h1UmtGSUd5TVFqQUExdkc0?= =?utf-8?B?Sjd0VENvS3poSEh5V0FReGFaVG9rcEhFVDhlODNrR0I3cFhDUS80a0FFb1gr?= =?utf-8?B?MmlMdzEwRm5MaER4OXlGamkxdlVhSHhQWlZCV251WkFJMHRjQ2djbHdIcjc2?= =?utf-8?B?WUxMZDErdEFDSWtvaVMwN3dXSVppMVJFRWFmMlAyRjFob0dXdXhJanVJMmRi?= =?utf-8?B?NGhmWGZPTDFuNFNRVHA4YnJYR1ZVdWwwQkhyZTNHeHVWVUkxcDMyd1JRanV2?= =?utf-8?B?Q3lBdE9VbmlJalk4cGpKSzN4eEN2VkpScktUTTVYcFBsbWQ2a2lJWUJHNTd6?= =?utf-8?B?cjMxV0EzaXpZK1drcVV2R1J1WTJCVGtRS0RkRmhMY0d4ZTdKTm9WUDIrUUV3?= =?utf-8?B?YTZIZnNYUlZoZ2VGVnU4c0ZrSUlWL2JCQ2lDWGpuZmM1MzI3cml5cU9yVHdT?= =?utf-8?B?bnpManBVcFhMWG8yZTYzdkl4UGpTa3NzMmpyWExGMk9BN3hhVCtoeEQzOG8w?= =?utf-8?B?VkhlTFBwRTl5N1BtVW9kbFJacnBMWnkzY2wxb3pwTFhaVGx2K0xMWXA5bUZW?= =?utf-8?B?TjVwdnJrRXZQa2JscG5lUjBudVprL1N1MXBKMHF1STFFS29tVmxycmhjVlJP?= =?utf-8?B?cFVXWjk2eFgwa2VZcEJJb1h6aEl3aE1XenVNZ1hHVC9JemhBMUZQWi92aVNv?= =?utf-8?B?SVByckU0akVMd3FaV3ZFMmV6NW51b1MrcHdSQmExU2JQWmJ4eExOY3l5L1Vw?= =?utf-8?B?QXRuZi8rMytzVXF5YmlQSDN5WjdEc29RYmp2YnhLcjFlWHZRcVljcnU5eHJU?= =?utf-8?Q?iBnaKAxl8Zekgihwjg=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-80ceb.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 7c5e6e80-2dea-405a-6754-08dbd90c275c X-MS-Exchange-CrossTenant-AuthSource: AS8P193MB1285.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2023 05:50:42.9661 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9P193MB1580 X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 8D2CFC0007 X-Stat-Signature: 1jccoudydmr5au5foa3yjsktyjjqo3s5 X-Rspam-User: X-HE-Tag: 1698645045-908524 X-HE-Meta: U2FsdGVkX18CoB7n7EEJfGf5Omdd2n8Sm2689N9hKtO19aXbKdVp43QAJF8C/PMHvu3YbFdQFD442ZnRQ7NJefj+B92BM1nmEJNT9MBWYI2Q46ggXXi4+IzHidzHRhbmu5BcyKxfUI2oC1rl/LcNDzzYoHxAd+m9rb/hKCUt8ADtzf7eCI4rW4+XYL88eeAx1uQaosE/haynx7gRnByQOLIfdJqn0PlultoZQFVBz+Zi1RcxdUvIQ/HCfpYZlU+1zUsrnNRsxgGiIPWJbzY/4HH+S34jet+VJ5qmV6rBEVSklmCAm06TfM77voYvr/OPzwfQes1pX/ps8bpDYWhvDgtQfyHjawvRbQwcj0wi8l1JPnDZ6i+B4fxg0kV9LCFOMjXm5YqI0xUt2LI0lsia6Rni2V3nA+I01VGpGUO5NfeoWx1VNhQYM6a7AqNQFzHF1l1AEcCfUKoxkQLXYCSrYUcFgwx2rhdo0/T9p6xcE1swXKJQoOqjeUJ3BY3WdHl1xCOFlNEYJShRmPeZzX0xhImD52Yz1Lu7ZbeKgl7TyoyZubHLJc4/4mCpa+nxbgrRtZqxg6QvZP6xuAzitylVXTSiveaveuBJb1qWRd10gsvBjDfj7U7Nec2PizroaFLJjK+hsd2q4fD8zKusxn0bzXRS4J20czA3fmqt5rRcFi1zqQeMMnQOloqoCLAHibFG0Vedawb1/sfcX82+Sx27GcoG7vOitCoCR6r5PkbEei9p7GbkdhRlbo0eISwQ7OdpCZZNa9ufIlrRy1DmLFjCobEMtBDCIFm7/ftbZqrnbO8379voLUnXiI0dfztHjbsgjQ48rdK6dta9X9arGjN/HBTeVWUVtmf6G+5pT804y5vWRo834cRRjUOyhZZ2Ddf6vZu10VDl5u3Haieyx+YPn3BffYlsO4xndrz+MQIaB1NdE5VnKu0i6JqcovR3lf7ZGdgj+8koVwNj+spFrE+ MS0rJ+b1 rPsZ0Ndm+K7YrtfDL3ihv2kl4ZCyeABlramQObHEb9FJ9on59xX8ceO1wWTN6rzrrH+N+qYez4huVaPAleGUlqlRMQd2uGoqpVbK2izjW6xuHPAr93FrlmPUW4MLAz3aJumbZDNm5pmSpKpIfVpdfdaDALVxV14kB782ml3RTlz+nLcm9ilrEn44bqnTEQ+4qWe3nlE0IYBaxV/DfkHNoR/7cC2x0dPBDol3d0ihVaV3gYZEgFwPcqAans1lIsGsAsQD2xtGNEc8g97OJqqGnm/LKCMhqFjwK9gXet5IRJqYr1CxB/YfYyyZBgWRusx0woohCOkEeZzSYSQ6nbcWRbUHlDgCMVvYmjinT9LmtV1QWnjvo5RwpFUD1spCPuksb48oaMFgXXJ4RSm/SK6dDuiOdqFc0uyt83ezLuzx0v2p5yB1wErac/gZbp++wFwEjmW8LC2/aCIPQx4Fnaa8wkmNoDzdp+lVjXNSDnxE/VFuMrqlKNB9acJHN2eDM1kN1VrCRH3vIPo0iX6hURhcNZpTb53/CsFWMLYaA X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Ping... On 6/6/21 21:34, Eric W. Biederman wrote: > Bernd Edlinger writes: > >> If get_unused_fd_flags() fails, the error handling is incomplete >> because bprm->cred is already set to NULL, and therefore >> free_bprm will not unlock the cred_guard_mutex. >> Note there are two error conditions which end up here, >> one before and one after bprm->cred is cleared. > > Acked-by: "Eric W. Biederman" > > Yuck. I wonder if there is a less error prone idiom we could be using > here than testing bprm->cred in free_bprm. Especially as this lock is > expected to stay held through setup_new_exec. > > Something feels too clever here. > >> Fixes: b8a61c9e7b4 ("exec: Generic execfd support") Note, ./scripts/checkpatch.pl complains about the too short commit hash here, I overlooked that previously: WARNING: Please use correct Fixes: style 'Fixes: <12 chars of sha1> ("")' - ie: 'Fixes: b8a61c9e7b4a ("exec: Generic execfd support")' Could you please fix that before merging, the correct Fixes reference would be: Fixes: b8a61c9e7b4a ("exec: Generic execfd support") Thanks Bernd. >> >> Signed-off-by: Bernd Edlinger <bernd.edlinger@hotmail.de> >> --- >> fs/exec.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/fs/exec.c b/fs/exec.c >> index 18594f1..d8af85f 100644 >> --- a/fs/exec.c >> +++ b/fs/exec.c >> @@ -1396,6 +1396,9 @@ int begin_new_exec(struct linux_binprm * bprm) >> >> out_unlock: >> up_write(&me->signal->exec_update_lock); >> + if (!bprm->cred) >> + mutex_unlock(&me->signal->cred_guard_mutex); >> + >> out: >> return retval; >> }