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 E6EB0C25B74 for ; Sun, 2 Jun 2024 17:57:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 54F2E6B009E; Sun, 2 Jun 2024 13:57:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4FEA86B00AA; Sun, 2 Jun 2024 13:57:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3A8D56B00B5; Sun, 2 Jun 2024 13:57:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 1AFFB6B009E for ; Sun, 2 Jun 2024 13:57:38 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 898CD1603CC for ; Sun, 2 Jun 2024 17:57:37 +0000 (UTC) X-FDA: 82186706154.10.B47ABBC Received: from out01.mta.xmission.com (out01.mta.xmission.com [166.70.13.231]) by imf12.hostedemail.com (Postfix) with ESMTP id 40C7540016 for ; Sun, 2 Jun 2024 17:57:35 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=none; spf=pass (imf12.hostedemail.com: domain of ebiederm@xmission.com designates 166.70.13.231 as permitted sender) smtp.mailfrom=ebiederm@xmission.com; dmarc=pass (policy=none) header.from=xmission.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717351055; a=rsa-sha256; cv=none; b=JD03b848ArIzSjHo6QLF+QkKNuZanmaZH0BFgpNuUeYzRdEA9Pc5t5EN98UL0JIsets2hk zny7Tbf1Fx8tABinrkFDThgKllM1NRcJVnpDmac8qmo05aMZNKUBbCM4TmGNBYWWcIPAxp 4kr/1zhU0nHsQW0jbcZhXol3sTMBw7I= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=none; spf=pass (imf12.hostedemail.com: domain of ebiederm@xmission.com designates 166.70.13.231 as permitted sender) smtp.mailfrom=ebiederm@xmission.com; dmarc=pass (policy=none) header.from=xmission.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717351055; 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=LjHhcalfzqwc1kUFlSRJVQFPsCe/cmy0fK/J+60YEJE=; b=H2tsQ+yqCwWy1fW8pfgItF7KD1pU9Pxj2J7IkQ9gmE21yAy/7n+bFwcQhnrCSw4DmSfWmb fbFuNv2haelvonMMrYQ9O/Gnz/SVCIsiKAPt8wb6JyuU/9ufovAyC6nsLpom3vxBKbjm3x dljIS53NMKSQBKmGOWlIN+3cHdbCwMg= Received: from in02.mta.xmission.com ([166.70.13.52]:55724) by out01.mta.xmission.com with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1sDpSX-005b58-9E; Sun, 02 Jun 2024 11:57:33 -0600 Received: from ip68-227-168-167.om.om.cox.net ([68.227.168.167]:33916 helo=email.froward.int.ebiederm.org.xmission.com) by in02.mta.xmission.com with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1sDpSV-00HTHK-GO; Sun, 02 Jun 2024 11:57:32 -0600 From: "Eric W. Biederman" To: Yafang Shao Cc: torvalds@linux-foundation.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, audit@vger.kernel.org, linux-security-module@vger.kernel.org, selinux@vger.kernel.org, bpf@vger.kernel.org, Alexander Viro , Christian Brauner , Jan Kara , Kees Cook References: <20240602023754.25443-1-laoar.shao@gmail.com> <20240602023754.25443-2-laoar.shao@gmail.com> <87ikysdmsi.fsf@email.froward.int.ebiederm.org> Date: Sun, 02 Jun 2024 12:56:52 -0500 In-Reply-To: (Yafang Shao's message of "Sun, 2 Jun 2024 14:56:23 +0800") Message-ID: <87o78jxm6z.fsf@email.froward.int.ebiederm.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-XM-SPF: eid=1sDpSV-00HTHK-GO;;;mid=<87o78jxm6z.fsf@email.froward.int.ebiederm.org>;;;hst=in02.mta.xmission.com;;;ip=68.227.168.167;;;frm=ebiederm@xmission.com;;;spf=pass X-XM-AID: U2FsdGVkX1/H+WMELW2v4o3gxreTIa+W60BpyDuHpZ4= X-SA-Exim-Connect-IP: 68.227.168.167 X-SA-Exim-Mail-From: ebiederm@xmission.com Subject: Re: [PATCH 1/6] fs/exec: Drop task_lock() inside __get_task_comm() X-SA-Exim-Version: 4.2.1 (built Sat, 08 Feb 2020 21:53:50 +0000) X-SA-Exim-Scanned: Yes (on in02.mta.xmission.com) X-Rspamd-Queue-Id: 40C7540016 X-Rspam-User: X-Rspamd-Server: rspam12 X-Stat-Signature: muafwok4y7bx1zhrhkebmraearna9okm X-HE-Tag: 1717351055-38606 X-HE-Meta: U2FsdGVkX188BN/G5adNgCWW0JdCLZ7c6SeZhydohuim2j5z/ez3/h0a+CThFqtyqal+zrwv0DnBIpvN19PhSVdJung2wDDfb1/5pyDEJGzi68hQRMKFVTGkHjaD10PzMrzaMR1NyGKzsks/tDcxC+ENKwz1LjGtaKX3lg02LqBCiITAEpHRTC2wPiqhV1sK1G624+aCo9Mj1WezSLP5W2dZuRbOfoQF3E02G7uJYSrQdqBBi9WDOfgeobXTmCziEJM5GpKYvmATS5JoSZEhBMt9o7OvE+wHrK58MWAWOoqhhbMJXkQ9M/zdxFbpE9a31KAexo6lbhT4PFnUlupNf9GrSsh2OFHJ3GUfiPiUlUPIqR0sx1k3JX4S+HgoZw+YbmWyOTpCfY4UzsfsCn5Uh3/EMO/eaO4SdFL3CL8jMnnbgrhQPajlVSCLPg2I9hep91XC3duIoXVkDo6edwTd/GAeFSdlkK7oytRK2IWXeKPhGa2PW42rpiFGooUJjhy/mrxTh3QDuczmBc/T6MRE+gsPbUZa7Q/EDhMLpwWHM1SvQSx7h7C+3gzr052ha0ueeEzx1rM3asfI44gHl/pW8Q1Lv8MTyRpeOP2rh6Zix3y2M4EBA67EijTE5NnmC2fK1o5e0mZlDud2B9NTRSyaM9dCoJgAkAd1q1rD8bVzeH5UbWzyv9BeHFnNYUMAdSJNv8FxGbOw1nO6QDpvHWiEOy7xwoWmbx9d14I0eU7yGV+EL0qBfjYnMAA5g64Cpgg895DpGM3GROAzzk3CUWKmnTjkc04y4Gv3gSS3k+U0FdF8AvBv1Vq/67UA6E+7VLUfJJlIJvb7ODNccq+Rng+ORgZeBAbwqfc0RTHQ4JfrtTk0q6+9hfZQ2XqBxKL4zverult2tU1cpy5VDJTSDoFq2yj8wrAoCEflylWihZjRrQnzyNtDFqkIwM03K3lqNzmDHSOP4Ihd8RDO9q79Tn2 nLGO/VHQ nhvz5raPh1+oKKwoIsv1vwGs26NO8sN/clgXn3PMjvSYdkQee5Y92uF514u4s9DgX5uyOor1w4cImVYlx3X81ojuQ3Nrrcj71sg7a4E7HlnwTZiUSNmapxCuAWfrYRDM7iCT+3K3ncQGRinWNuwTpYYtwWPSCkofDsIwv9GGq90sYowoSeP3BbKlQOTfBuJ5d7r+LqwSm6JWft8DjKYbEvCpQC+/Ygxj/lZdnhuqOa/YFN29IBIKJWwndEXZ8P7kCkPt1xsyJKYOfM3g= 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: Yafang Shao writes: > On Sun, Jun 2, 2024 at 11:52=E2=80=AFAM Eric W. Biederman wrote: >> >> Yafang Shao writes: >> >> > Quoted from Linus [0]: >> > >> > Since user space can randomly change their names anyway, using locki= ng >> > was always wrong for readers (for writers it probably does make sense >> > to have some lock - although practically speaking nobody cares there >> > either, but at least for a writer some kind of race could have >> > long-term mixed results >> >> Ugh. >> Ick. >> >> This code is buggy. >> >> I won't argue that Linus is wrong, about removing the >> task_lock. >> >> Unfortunately strscpy_pad does not work properly with the >> task_lock removed, and buf_size larger that TASK_COMM_LEN. >> There is a race that will allow reading past the end >> of tsk->comm, if we read while tsk->common is being >> updated. > > It appears so. Thanks for pointing it out. Additionally, other code, > such as the BPF helper bpf_get_current_comm(), also uses strscpy_pad() > directly without the task_lock. It seems we should change that as > well. Which suggests that we could really use a helper that handles all of the tricky business of reading the tsk->comm lock-free. Eric