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 8811DC54E65 for ; Thu, 22 May 2025 19:45:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E81A96B007B; Thu, 22 May 2025 15:45:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E32A26B0083; Thu, 22 May 2025 15:45:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D227A6B0085; Thu, 22 May 2025 15:45:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id B5B0D6B007B for ; Thu, 22 May 2025 15:45:12 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D9DDD120176 for ; Thu, 22 May 2025 19:45:11 +0000 (UTC) X-FDA: 83471572422.07.3636987 Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by imf01.hostedemail.com (Postfix) with ESMTP id D21414000A for ; Thu, 22 May 2025 19:45:09 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=igalia.com header.s=20170329 header.b=rPeK2Anl; spf=pass (imf01.hostedemail.com: domain of bhsharma@igalia.com designates 213.97.179.56 as permitted sender) smtp.mailfrom=bhsharma@igalia.com; dmarc=pass (policy=none) header.from=igalia.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747943110; 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=b4Gq7lrRnu32phU15nLFZ+zTgkQ+RFVbw49dZ/Yes3Q=; b=10zkxBxxd4B/yKSiGscnXgjXlD4XiuyWZWe9rvAkDNVykI3L75dnubFYgujTquo0zxxGYy ggvXP7rXKxHKL6SrPPtr5U2QZWLJFhu7IJiPUzWUfBWypZcOSF9mnOa9a78LKFtYF0OAxo 5hC3yOTDx/OEd9ocP+RIYIhQkz5EDU4= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=igalia.com header.s=20170329 header.b=rPeK2Anl; spf=pass (imf01.hostedemail.com: domain of bhsharma@igalia.com designates 213.97.179.56 as permitted sender) smtp.mailfrom=bhsharma@igalia.com; dmarc=pass (policy=none) header.from=igalia.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747943110; a=rsa-sha256; cv=none; b=vDr6aU8bLXozx70t3OdwKNSIwkcGFUenZqbYr41RU8o26Z/0sd8DAB3Sq90ujcPK4wW+YZ sJD8Ua2FmoaRHKmMmFr3hDBnX/mOn+6+6b1BOFoN2oR6HgVym31IBvcrnPsxKNtiMjqZT8 aHgYHk5rcVulRjbcH9Oy1VbTU+slnRA= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=b4Gq7lrRnu32phU15nLFZ+zTgkQ+RFVbw49dZ/Yes3Q=; b=rPeK2Anl5+yLqAmwH2j1YJTwdu nE8CLl7xTplJk3RKL83afh7JUR2UnPhCPEwBk1Zj94FguLMhsl9Y/SagBXghVU+3Tfjgi+SKbliA1 LEA+6MiA9tJBO64lX+oBgP+c8JUwOewP6vKC2XkL075S8Eg2GTFo0+FAmH3cw5cIn6NGWeUAXOdEC lVB8TsvW4eYKOJ7QAp5CMzWUZSdZYawijkZM4h22RumI/l81Jm7Re+DX+9m5iuMmlk0Hr4ambP4z9 2ObLFSaO6pdJQj7lNsFWBK20GWtcDZksYHtDExpllRuEPohRfJIa8TITV2/VPsmbeTTfFH3pMy5k6 r4P8hH5A==; Received: from [223.233.76.245] (helo=[192.168.1.12]) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128) (Exim) id 1uIBqe-00BrwM-2I; Thu, 22 May 2025 21:45:00 +0200 Message-ID: <1ff57d4d-6e57-20f1-c3e3-b0f7dfeccaaf@igalia.com> Date: Fri, 23 May 2025 01:14:05 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: [PATCH v4 2/3] treewide: Switch memcpy() users of 'task->comm' to a more safer implementation Content-Language: en-US To: Yafang Shao , Bhupesh Cc: akpm@linux-foundation.org, kernel-dev@igalia.com, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, oliver.sang@intel.com, lkp@intel.com, pmladek@suse.com, rostedt@goodmis.org, mathieu.desnoyers@efficios.com, arnaldo.melo@gmail.com, alexei.starovoitov@gmail.com, andrii.nakryiko@gmail.com, mirq-linux@rere.qmqm.pl, peterz@infradead.org, willy@infradead.org, david@redhat.com, viro@zeniv.linux.org.uk, keescook@chromium.org, ebiederm@xmission.com, brauner@kernel.org, jack@suse.cz, mingo@redhat.com, juri.lelli@redhat.com, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com, linux-trace-kernel@vger.kernel.org References: <20250521062337.53262-1-bhupesh@igalia.com> <20250521062337.53262-3-bhupesh@igalia.com> From: Bhupesh Sharma In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: D21414000A X-Stat-Signature: 6u6ch4odtjq6z5xb55bbt5ziowpaqhfc X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1747943109-39688 X-HE-Meta: U2FsdGVkX19wR1q4hC0tfLwdJlydpm5uZJUSpBnrqd8CHSfPxED33K42I7wXTBg8dBJz10NYBS28wZiS1UQaxbYawMUTqjnA1Zzr2tjZVDz7R+vv5ewOgujaa2X6pTsRnDJJdP+ihKbHIvCIUmvwSu0zw2xqmTip78bcZoq7ivOooHiM6Bec16lIARjWjic6Z5l/eQ0HD8jgMnjOiRlK+0k2V1RAHGnK8zdQGKJZUF/rXp8BWtkukHdeLLPN/Ur4TVKsipnHpADIBeXZhyhToG2doatEP8kfrZR84LNltB5Ov4AmfEM14qOW6Tcb0zUBa99kCVZ8FYFoRxmzGXCY7Stwib0RazegrNzwfPHxFEi/c8bMGt5WH2yOHq0Y/W0T/j/Aux4GAemFLa84N2BDnOGMvCRrobBVnS+uC81aDH9Sjx1/Wq35Y1Cz1N4M7cB87Smtwnuz1wCEmLtGemrelYcgytLmsFr1gHd0RMT4Y70Cj8uZvNr6TZ+EdV/6KIpKbHctaUaA/+7gZ8QDVQvNniDy2iDOkTqhWBKfBQTXmmeMv6u5x20UInYVBVxzi8cuobRbYU2g2tzHc5VaYd450nDnvi3b2aqijYfdrON5QX2ceE29NYYIcJLOu3yfXdX5xLr2T1t0EbnSXSmNld4Y5T+Y/vbGFjfsQYdOQhj6EyP0sfYxXkVHnYKgWPw/j+ZkAmPb0l5wsSayReOrfGCNnAI/bKRmyxZ+76hg5hTKy+YyUpPvCUqI7OCQuUP8iLOqXtk9M5ITYbQ+CamvVAKKwbxowBcNb7uJtUP6AI5oIdHnVwY38HQGRM90P+thdqjQ3N376xhbO3zqCV++u92HMLJeHHCMoOeRRTiY11hfrnyUSUG2t+t4h2IGrXNIECDJoQ1hNBToC4wS/AIFKoNwHOIvT4fBnk67YV5G82lAYyDQ+MaazczSDJw03tBjqXcOFV8xwWs7p3Wr6ZosUdL lEGVLKQT gKSQ9rOnHirH/pR53FdN6DntrvpbG/p/+s0290WED9sJ2wX7+e+Zn+lV8Dp7vZIVSAfT7ghnC44I2I+YJQdoNdpj5JJTX5oUKzsYZZqmy4zRigCYlhBLJ2euefI5h+DIVYMZLYwLo3YNjSC7jaucSYQEDvTJExXFqi52PyEU52AoCemcOfU4JX8XtIqknWhZjZexHXZWzt/nDEx3S35XAnzOoRjwf57Wvcsm194S0eqmbHS5gMo6zq+YLBM0n+50a4m9M/E+xhpuWKVI5XML+/NdLqy88xVrLvCqjGRGSdBOHB5B7+CCMuzUerkv/QF2lT+9kAiWd8bgALqjeWn24rPmycfZSd7fdPWW+7nZPIunHh4eEjSOgeLp7ZlHowI6jpxSq8bADuiop99e08VzWz4MtHsbTJjDQJhUJFnpP6mLXoQL7Pu7PKl0+99tTDWFVDKvi 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: Hi Yafang, Many thanks for the review. On 5/22/25 11:57 AM, Yafang Shao wrote: > On Thu, May 22, 2025 at 2:15 PM Yafang Shao wrote: >> On Wed, May 21, 2025 at 2:24 PM Bhupesh wrote: >>> As Linus mentioned in [1], currently we have several memcpy() use-cases >>> which use 'current->comm' to copy the task name over to local copies. >>> For an example: >>> >>> ... >>> char comm[TASK_COMM_LEN]; >>> memcpy(comm, current->comm, TASK_COMM_LEN); >>> ... >>> >>> These should be modified so that we can later implement approaches >>> to handle the task->comm's 16-byte length limitation (TASK_COMM_LEN) >>> is a more modular way (follow-up patches do the same): >>> >>> ... >>> char comm[TASK_COMM_LEN]; >>> memcpy(comm, current->comm, TASK_COMM_LEN); >>> comm[TASK_COMM_LEN - 1] = '\0'; >>> ... >>> >>> The relevant 'memcpy()' users were identified using the following search >>> pattern: >>> $ git grep 'memcpy.*->comm\>' >> Hello Bhupesh, >> >> Several BPF programs currently read task->comm directly, as seen in: >> >> // tools/testing/selftests/bpf/progs/test_skb_helpers.c [0] >> bpf_probe_read_kernel_str(&comm, sizeof(comm), &task->comm); >> >> This approach may cause issues after the follow-up patch. >> I believe we should replace it with the safer bpf_get_current_comm() >> or explicitly null-terminate it with "comm[sizeof(comm) - 1] = '\0'". >> Out-of-tree BPF programs like BCC[1] or bpftrace[2] relying on direct >> task->comm access may also break and require updates. >> >> [0]. https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/tree/tools/testing/selftests/bpf/progs/test_skb_helpers.c#n26 >> [1]. https://github.com/iovisor/bcc >> [2]. https://github.com/bpftrace/bpftrace > Hmm, upon checking, I confirmed that bpf_probe_read_kernel_str() > already ensures the destination string is null-terminated. Therefore, > this change is unnecessary. Please disregard my previous comment. > Sure. Yes, bpf_probe_read_kernel_str() handles these cases. Thanks, Bhupesh