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 596C3C5321E for ; Mon, 26 Aug 2024 02:31:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E052C8D0041; Sun, 25 Aug 2024 22:31:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D8D348D001C; Sun, 25 Aug 2024 22:31:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C05EF8D0041; Sun, 25 Aug 2024 22:31:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id A2BB08D001C for ; Sun, 25 Aug 2024 22:31:33 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 449B2140A95 for ; Mon, 26 Aug 2024 02:31:33 +0000 (UTC) X-FDA: 82492820466.01.8089780 Received: from mail-qk1-f176.google.com (mail-qk1-f176.google.com [209.85.222.176]) by imf18.hostedemail.com (Postfix) with ESMTP id 7090D1C0011 for ; Mon, 26 Aug 2024 02:31:31 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RbHfTT+5; spf=pass (imf18.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.222.176 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724639449; 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:dkim-signature; bh=0XScue1slDHBjUXVjmPax26pz/WL1rKHeatxMpCgrfI=; b=Zao24avOErIM+LH4mHHh7wToxoFs9XQM0kEZUYZ0VRK2l0yJLQcFP+FP75t3H0trRMPsvZ KnxO9HBRYvoqKHsF1+gaNyJsLYEEheMynxyTeC33lcX4oRhO2Skuxgg/aRLqJSPy0QX6ra 8DHsCkGkFK09qwIl79PUU5gmSnY76/I= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=RbHfTT+5; spf=pass (imf18.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.222.176 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724639449; a=rsa-sha256; cv=none; b=TFnftYDKuCn9e6xSlSjOGfQofG2SogZr6Rzl6iqBLfd39ZqO4ILQhqWhKbsftEN0nRs0sR Jb2lg1ubHxBynxRcjwEfDXxDnpVZkf1WgrNQd+gPH+tnSJwRs0Za4V6ToA1+xEclSCAMMT TRGdKQ5Zu1bVs5xSLfnBPAmQ+7GJk08= Received: by mail-qk1-f176.google.com with SMTP id af79cd13be357-7a3375015f8so254677485a.1 for ; Sun, 25 Aug 2024 19:31:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724639490; x=1725244290; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=0XScue1slDHBjUXVjmPax26pz/WL1rKHeatxMpCgrfI=; b=RbHfTT+5+uY0u3MfmY4wwa5BIGFIit/q9vneNfrTBzddyFquqPJQoxHdCxWhzCKOMy tIhMOAlByhYVzpwjOn0RoUwaVXX1Gqk3lHMxEQMx/7NTFfM2SZwxfQS+ARjXkeddfWyY 4wLEoamaNIxmBbIjIjs6JY5t0x3pBt5RNsupmuij0fFZOoBOi/b0q0xOyOh0lxmY03H7 bSDoPqsHYdNXEwfFPLW9aWHI0bipDVIja42nqFMO8ZxsJKkL63XnNjX379V6xlslc6Di pGZ2pg/vgv6XprcGxOw0/07Z4oi99uICsZ8pndnpbnb+SRdzr+29q22uGWYfGryqqvlT cQyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724639490; x=1725244290; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0XScue1slDHBjUXVjmPax26pz/WL1rKHeatxMpCgrfI=; b=Y7dHqySr3h+Hws7OhZU7eLVb1IMIeVOa6g7rkSBBWsoctu6ulcvY2UlKrn9WqhASCq mZDFRepV6FpKLS+8EgLa5aBz1w7H31F7zmVQlbtWALTGhgU54bqJMD4ed9vsLHmVpI12 nXoClrig1I8zrW9HZU7jd03Qz2bPs+qSWUBGGi44XcWhOi/hAdbPlWkbiqSwln+yE3vx BIEJaxXXEmlLPlsNeYjmP7eEy2KewUwsjiCWi8lWYqnv5865Tocv4WIYy4WEcXNDZ8ii XGzuJtHCfjKuyNBqK3N514qHipg7QfL7WtB52tugaIsPePzWoshXWSQIqbQ2cvRTjinK CUyA== X-Forwarded-Encrypted: i=1; AJvYcCU0gBWFUqiOAOI7w2aKygxhcyx8HCZkNtpU0FyFPQlIXjDUrLqc3z3tjRbtFinF91CeteuDOy5mJA==@kvack.org X-Gm-Message-State: AOJu0Yx7vqW6wu9UEq0WJ5ifHyOvG/+WlBcNI/9ilO2cwhBbhm3TDah4 QdoLVGbkK7jMD381aO/daNKVMzRTuXGtr11ok4dp4Bpzj8RGxoXqV5QMEluxQKkFxibpZqBsPOq PvOOWKwv9fj1fOIKI0ZNDRV1baZo= X-Google-Smtp-Source: AGHT+IGarR35eqB+ZCiektfid3NknQ5udphouR14HCsBw/jqFbYUFfZCBajx/1hzRrP8EuX3DNE+IOmZVcAYGIL4Z2k= X-Received: by 2002:a05:6214:318d:b0:6bb:84d9:8f91 with SMTP id 6a1803df08f44-6c16dc2615cmr95291406d6.6.1724639490512; Sun, 25 Aug 2024 19:31:30 -0700 (PDT) MIME-Version: 1.0 References: <20240817025624.13157-1-laoar.shao@gmail.com> In-Reply-To: <20240817025624.13157-1-laoar.shao@gmail.com> From: Yafang Shao Date: Mon, 26 Aug 2024 10:30:54 +0800 Message-ID: Subject: Re: [PATCH v7 0/8] Improve the copy of task comm To: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org, alx@kernel.org, justinstitt@google.com, 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 7090D1C0011 X-Stat-Signature: bq75bhke5bxfk4ghnaatq5gdu8b4um5s X-HE-Tag: 1724639491-961786 X-HE-Meta: U2FsdGVkX18pI1lRsCa2mCyKKvK6MxQdsJeAZEJ8hboFvRBvStmWrjlyhgzK8/PxJixMdnq6oFQyXJm4qge8Yq9JNyFeC2jeuiu5SC1gN80Xs9ls7V/4D17//cmf3rMLjePFFuoQur2Hd5VZzlUqe5eUh5UUpRFyXVmymGfhN5m7Is3WWtPLlT5WYP0nF8aOoitaRKh3afrG2QmfrlPTeqBlY7E+gndf+EBJDQif75OhoJkuSUpe0+VMILfY0udrSn2e0rW+oWYXEs+EvaGuGy5+Dfsacj/2DVXBo9kfEALFC+efgeNYErtNTnUpO0QfJllkq+zT+PmQj3Q8m3/H0SNN8lTyt6UPTuZoCeNs3lxAEx73g+z/AHS3wD5puEwqprs9GdVwQ/FWHJ4pTd+pGXJmZgDPqZkagLbngPix+xFTuZdI52NSh8T2bbd3+6rCcMfvv6DrZZbkd6VrlS6I59ofodIBBjM+Wj9naQyzz4pIgtbxn70l4Z1HK9tpqT4mUvkunvrlTNmp1XoFFY0D3zRzQsYolJ4u5YSwEQ27LEqNggnHCNHy5s5q/Oxc2yh2mxM+yZxcAHNsCZz2wDMa9/jQWYDX0Jyktcnc/G8gNot4De00wAUDdshBIEx9d/oH4GFze3HhUwAbZe6A+SPfnb3vDyP4MKYPAa/TU2agKBmTVJnymWkbSek1go9A/IIOzdptT2VrbWpYv/or+fN26qfaDpX05lgmXOTxF3OJM0oGpMcZT8qBTH6Oqui9+c/LxQ97zgT1B0j6aYLrMwyOXG80eL5+pSdL/Ayozq0ftugk5YE4MuuTU0riocM2Bbqj8Xs/CjBdAPuMJ8+zEGDg7zyXsWxwHSUtBmFjRQngjJ+EyFk+oJzvWCIOKNZ+uba3JjO0Yd+kWLP1r/A/rZv1Tor+Zw5sFWzQbtYloggOtwlRGRa51hCZZfi/1+lFgZLA8LRfTHJC47noqcKAWsd oWCZoK3r ErEknKH3iJTuniVuMT7HCJ9SVA+qEdexxAfz/ijOpR97ur3IF2bkiVhoZMV3PNso46OhL9RaTkS7+lGCSswvYLV9okYPbqovnAYNoxpAX46JcXE+LlnECHVHaLoW/AA3fb6wLpWWuouI2p1QlpNAiv7EE8/5ZF8p4YSprWZYHL6xmXJkJ5zOrUCzjLQtzM14duKZ5TSBAdW3SaS2zKUFqFt9yAeWw/Pb+6Sfrz2w501HxFWucf3j1U+3m4Psz+NirkmzoiPWVkgcqXXz2DS2nAQT15OfGz+6hyYAVaeXpWw22vO+oStzQeUujs7h2i5wnhBW+/5sKAa5slLip3G27Xbj4rQjAxjqCjjzF+9aLvZSkZWcqSXF8KlmHhKpgHEmovE3l8JzzJGzHkgy+MfYXdBt8bk83m79HJxBz29lT7kw84fsnsGTS0n2SYYJ65U5fZB4hBfAmd2dPL0fcHi3KpSyYQE6D0zyxq7IwOtcg5imW8dLuPE7XNv+k4SiTx5U/Rm3S23SvwItcQjK3mM0EnEIm2w== 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 Sat, Aug 17, 2024 at 10:56=E2=80=AFAM Yafang Shao = wrote: > > 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 destinati= on > 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. > > 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~#8: strcpy > > Please note that strncpy() is not included in this series as it is being > tracked by another effort. [1] > > In this series, we have removed __get_task_comm() because the task_lock() > and BUILD_BUG_ON() within it are unnecessary. > > Suggested-by: Linus Torvalds > Link: https://lore.kernel.org/all/CAHk-=3DwjAmmHUg6vho1KjzQi2=3DpsR30+Cog= Fd4aXrThr2gsiS4g@mail.gmail.com/ [0] > > Changes: > v6->v7: > - Improve the comment (Alejandro) > - Drop strncpy as it is being tracked by another effort (Justin) > https://github.com/KSPP/linux/issues/90 [1] > > v5->v6: https://lore.kernel.org/linux-mm/20240812022933.69850-1-laoar.sha= o@gmail.com/ > - Get rid of __get_task_comm() (Linus) > - Use ARRAY_SIZE() in get_task_comm() (Alejandro) > > v4->v5: https://lore.kernel.org/all/20240804075619.20804-1-laoar.shao@gma= il.com/ > - Drop changes in the mm/kmemleak.c as it was fixed by > commit 0b84780134fb ("mm/kmemleak: replace strncpy() with strscpy()") > - Drop changes in kernel/tsacct.c as it was fixed by > commmit 0fe2356434e ("tsacct: replace strncpy() with strscpy()") > > v3->v4: https://lore.kernel.org/linux-mm/20240729023719.1933-1-laoar.shao= @gmail.com/ > - 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@gmai= l.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@gma= il.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.c= om/ > > Yafang Shao (8): > Get rid of __get_task_comm() > auditsc: Replace memcpy() with strscpy() > 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} > net: Replace strcpy() with strscpy() > drm: Replace strcpy() with strscpy() > > drivers/gpu/drm/drm_framebuffer.c | 2 +- > drivers/gpu/drm/i915/i915_gpu_error.c | 2 +- > fs/exec.c | 10 ----- > fs/proc/array.c | 2 +- > include/linux/sched.h | 32 +++++++++++--- > kernel/auditsc.c | 6 +-- > kernel/kthread.c | 2 +- > 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 + > 12 files changed, 65 insertions(+), 62 deletions(-) > > -- > 2.43.5 > Hello Andrew, Could you please apply this series to the mm tree ? --=20 Regards Yafang