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 9CCD0C3DA4A for ; Mon, 29 Jul 2024 09:29:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2D2466B0083; Mon, 29 Jul 2024 05:29:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2815A6B0085; Mon, 29 Jul 2024 05:29:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 149796B0088; Mon, 29 Jul 2024 05:29:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id ECB7A6B0083 for ; Mon, 29 Jul 2024 05:29:56 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 91DBE80218 for ; Mon, 29 Jul 2024 09:29:56 +0000 (UTC) X-FDA: 82392268392.05.2AD7490 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by imf07.hostedemail.com (Postfix) with ESMTP id A7ADB40011 for ; Mon, 29 Jul 2024 09:29:53 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=JqbIj31I; spf=pass (imf07.hostedemail.com: domain of jani.nikula@intel.com designates 192.198.163.11 as permitted sender) smtp.mailfrom=jani.nikula@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722245368; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=qff+SC1S2GANDjSAT/30XXrTfXqJrgGrZwMI5UEK44M=; b=UFGkHPf7WexWkcmDQVP/YzxNUgJlsWTaR3GgqtCFGxZm6o5nDZpJE8FOfg0jHLQ4UYFl1G WaZTV6BABqtbeaBH57jy1neamCq8BX4CbZqpAHpQ+b2rweeQyyUkWV3pMS+kaLh1tezfaA yFre8/kKXJH/5xciCm1LA1iWSRaegys= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=JqbIj31I; spf=pass (imf07.hostedemail.com: domain of jani.nikula@intel.com designates 192.198.163.11 as permitted sender) smtp.mailfrom=jani.nikula@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722245368; a=rsa-sha256; cv=none; b=1ukkzFWIFszPkfft/91WWCo8tJ4Zo/IEjQdf7MpyG5Ff3un4GGhgBKvgS0sjS3CcP7zLEq lcokxZQZmA1F9hK4tTwcTm7oEtA0oKOehhylT/OCqW6y9bHlZ6blKOLlGlpKryys2GEH0Y mKtq81XDB2u0GiWEIta83Yj11Jwj7PM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1722245394; x=1753781394; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version; bh=Okn6Hh7a8OxqdINhFpBMmcm+OFNUZUiCDEeJ7M45+Ag=; b=JqbIj31IEu3zAMMbsfBAzRTCCVf1C6IuUF/apx9mhvOn1TB9UbFLADRe 6hdRhgl0u+9clhp4NK/qDYu6g6IM+SWnd3qgEVkKklDXsNrWwZdsy7qdF V+qjpPKkl8BLxqSADTixXVg1HK1fEe5WxrAsapROOWO6DRRwZjf/GA7j4 DTFn6RUbPtnj1IbpujrTonam4x6s4CIzEJ1z5sb9agGk6j+ky2V6MH1cA ZhVOD/2D6/8Gn7xHWLZd7XdpbhOraud8RyQRKSn69fpP01sdZbK02wdIV D/OZs6l893hz4UGwCgSVdqvA47I4DebuqdhZO7FLW61Ci7AFaGeLdEW+H Q==; X-CSE-ConnectionGUID: oQqJBNuAQXW8nMQdvYc19g== X-CSE-MsgGUID: e5uuCmqcTc2FregLsi+j0A== X-IronPort-AV: E=McAfee;i="6700,10204,11147"; a="30606923" X-IronPort-AV: E=Sophos;i="6.09,245,1716274800"; d="scan'208";a="30606923" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2024 02:29:52 -0700 X-CSE-ConnectionGUID: si+UUBxSQyyqZAevhhfeqw== X-CSE-MsgGUID: D2TdvVJKRvC0UDCGKJ8A3Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,245,1716274800"; d="scan'208";a="54513537" Received: from fdefranc-mobl3.ger.corp.intel.com (HELO localhost) ([10.245.246.185]) by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2024 02:29:46 -0700 From: Jani Nikula To: Yafang Shao , akpm@linux-foundation.org Cc: torvalds@linux-foundation.org, ebiederm@xmission.com, alexei.starovoitov@gmail.com, rostedt@goodmis.org, catalin.marinas@arm.com, penguin-kernel@i-love.sakura.ne.jp, 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, netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Yafang Shao Subject: Re: [PATCH resend v4 00/11] Improve the copy of task comm In-Reply-To: <20240729023719.1933-1-laoar.shao@gmail.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20240729023719.1933-1-laoar.shao@gmail.com> Date: Mon, 29 Jul 2024 12:29:43 +0300 Message-ID: <87bk2gzgu0.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: A7ADB40011 X-Stat-Signature: 7gsybrg3oywkg84qp9o4ky9twg4m439f X-HE-Tag: 1722245393-16383 X-HE-Meta: U2FsdGVkX18JIK9GZQfPV42tdL/FlDll5TTtuxnKvKtVIStKrRzvuEvPqQCT1onsz8pAT1xm9vpo4+JC4CIubRo+2ieLZmg/+dGrJOFGmiBedyKMh1YCsCgOlAyggXtNLAxMmjKdrQ64ZTMd+C5qr2WtYS2bnvS4Ez769I7a6mXX3gCyy0Bgt5BU0CEZoBzTI0h2dmZHlgsl912EatE3YmPKC1OLNbILCIOdawEt7DvAUaozsRzMNR7kwaOBmlAF795TyGPB9A4xxbsC9UdU+WxHPwIFt6W7A042qdcPC25q+mBft/s2zEOXxh99VYXCR922zsxVYpgEEKyeu2tf4h6ASwa3im0wZiArpPhTfxheKyhDGIzpqjjoWCAPsN54On779paHNE7qoBs7dSuHeCyc6Cl3Ya2aCFlpCu/DneRHqy/FbaiApzK2ZDeHz+4Tq0YAy1bGUEYOmO0A+MvLZqwzQDtccf4GUd49bFIFGuGENslxS2k0WW9Arn2sqh0LrStfmo7JvvE17z/Sa4bDaaukMKYy66oYLIV3x0Yp3U7V0hBNkELsAvgPCtEt3aXfjclbjS6ujY2sTHSNmISClYXXzxMdkJT2YmJFgnYn9SML9kt2K82lowy5UdcNKinCRBvtI93ZuZ1SDZtDzUbc+hvWEPAqosmLxK1IMh2YBKpx5fwNLtFq7eDwDR6402xdvXWLox2tA7TnMuBX0clhsXrloV9W6x13ENLC7gIly3HUsfZzFsYUbt1Qrl7QaocxHf2Zjul7HhXG+Z9wsq9psMOEvIvwojlOibgYemOIpv/6xhMfF/XkMZZVOGqiDmXXImhEJ3Jyn9H0WP1VZtVFvM7zpfvWtNDbeMHpxAAdnLCCEYWb2ihr49lbNXYp8TvsDLaQfRel+6J7G7SubbuPFXE9qqutNIT6T178AuSteL8d1BNBf5RWJCXtROLjrcEySc/6Lj93kpL54QbiA7+ Legu+Xhf cRgfAPdAkaJMvH+UJNN1TyXi49/D3vj2yJtPxeW66+K85gblHPTQJOdXi3On89iVZC9sCvNC0nWc8m+AoZLpWJQ7C3tEWdvosEntBtmbdgA/FM2Mp72MoWhMNJEEiXDoDYXvRMHkWkSPefvEeiH/1ZFoV6wr7+1HHWbcuNqUQFcgfISknQcMWWFZOw4Wrg/ba7VfCWR+AwiTlV+3J5hdh6w0MCtRRNBh/wIu/27oZRtHXp2SpIe7z60Px8RxA+eggdVkw9U1ZDlzg99SoFt3bJN6bvW1od2GdfmeR6xWY1iVihGTxPYhDb6VawSX3IrnkkY/kk6OMslMI+Mya/6ERqcG8LtkBEoklIVW6k8ZcTnTMH01/aVcXOsyUpzeYxhEzUh9U3dF0J2O6pMiVcCy2uJoopRIu7LMNIU5igK4ZQeJAni1ulNOvpMN9DoulGEuVDY9tBt+jfpfHleG8EvOG/yhbrCyCSn6M89FIXVwdpM+M2uk0HBSQqKFUsFHqvxp4EU1rGrh0VdiRPouBbVWn6afpmA8qr1RCIij37Bz4hgirXhU= 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: On Mon, 29 Jul 2024, Yafang Shao wrote: > Hello Andrew, > > Is it appropriate for you to apply this to the mm tree? > > Using {memcpy,strncpy,strcpy,kstrdup} to copy the task comm relies on the > length of task comm. Changes in the task comm could result in a destination > string that is overflow. Therefore, we should explicitly ensure the destination > string is always NUL-terminated, regardless of the task comm. This approach > will facilitate future extensions to the task comm. Why are we normalizing calling double-underscore prefixed functions all over the place? i.e. __get_task_comm(). get_task_comm() is widely used. At a glance, looks like it could be used in many of the patches here too. BR, Jani. > > As suggested by Linus [0], we can identify all relevant code with the > following git grep command: > > git grep 'memcpy.*->comm\>' > git grep 'kstrdup.*->comm\>' > git grep 'strncpy.*->comm\>' > git grep 'strcpy.*->comm\>' > > PATCH #2~#4: memcpy > PATCH #5~#6: kstrdup > PATCH #7~#9: strncpy > PATCH #10~#11: strcpy > > Suggested-by: Linus Torvalds > Link: https://lore.kernel.org/all/CAHk-=wjAmmHUg6vho1KjzQi2=psR30+CogFd4aXrThr2gsiS4g@mail.gmail.com/ [0] > > Changes: > v3->v4: > - Rename __kstrndup() to __kmemdup_nul() and define it inside mm/util.c > (Matthew) > - Remove unused local varaible (Simon) > > v2->v3: https://lore.kernel.org/all/20240621022959.9124-1-laoar.shao@gmail.com/ > - Deduplicate code around kstrdup (Andrew) > - Add commit log for dropping task_lock (Catalin) > > v1->v2: https://lore.kernel.org/bpf/20240613023044.45873-1-laoar.shao@gmail.com/ > - Add comment for dropping task_lock() in __get_task_comm() (Alexei) > - Drop changes in trace event (Steven) > - Fix comment on task comm (Matus) > > v1: https://lore.kernel.org/all/20240602023754.25443-1-laoar.shao@gmail.com/ > > Yafang Shao (11): > fs/exec: Drop task_lock() inside __get_task_comm() > auditsc: Replace memcpy() with __get_task_comm() > security: Replace memcpy() with __get_task_comm() > bpftool: Ensure task comm is always NUL-terminated > mm/util: Fix possible race condition in kstrdup() > mm/util: Deduplicate code in {kstrdup,kstrndup,kmemdup_nul} > mm/kmemleak: Replace strncpy() with __get_task_comm() > tsacct: Replace strncpy() with __get_task_comm() > tracing: Replace strncpy() with __get_task_comm() > net: Replace strcpy() with __get_task_comm() > drm: Replace strcpy() with __get_task_comm() > > drivers/gpu/drm/drm_framebuffer.c | 2 +- > drivers/gpu/drm/i915/i915_gpu_error.c | 2 +- > fs/exec.c | 10 ++++- > include/linux/sched.h | 4 +- > kernel/auditsc.c | 6 +-- > kernel/trace/trace.c | 2 +- > kernel/trace/trace_events_hist.c | 2 +- > kernel/tsacct.c | 2 +- > mm/kmemleak.c | 8 +--- > mm/util.c | 61 ++++++++++++--------------- > net/ipv6/ndisc.c | 2 +- > security/lsm_audit.c | 4 +- > security/selinux/selinuxfs.c | 2 +- > tools/bpf/bpftool/pids.c | 2 + > 14 files changed, 51 insertions(+), 58 deletions(-) -- Jani Nikula, Intel