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 9DA4AC27C75 for ; Fri, 14 Jun 2024 11:54:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EB0576B00D1; Fri, 14 Jun 2024 07:49:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B4D8C6B00C4; Fri, 14 Jun 2024 07:49:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 602F98D0001; Fri, 14 Jun 2024 07:49:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 9E7DD6B014F for ; Fri, 14 Jun 2024 07:46:20 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E4CD0805A4 for ; Fri, 14 Jun 2024 11:46:19 +0000 (UTC) X-FDA: 82229316078.04.BDB8D00 Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by imf11.hostedemail.com (Postfix) with ESMTP id 2BDCB4000A for ; Fri, 14 Jun 2024 11:46:17 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ETQ7IEjl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.219.48 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718365576; a=rsa-sha256; cv=none; b=iTJoQk5GEIVrprCkh4mjSDSZPGX/IU064wEO6rLEfLWPXPkLchBXrEsI1bZ1Ulhcm7Dz6V 5P1lBn90Nl5bqweh6mrRk6e6ya5ha7mCAT3XPIsXS/+ieJ8ZYtuKOOp8LwX+2tMM2F5d41 YsyOKY0cwW6RSroI6+NLtUb52j4s/3s= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=ETQ7IEjl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of laoar.shao@gmail.com designates 209.85.219.48 as permitted sender) smtp.mailfrom=laoar.shao@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718365576; 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=YhZTA0P9EB3vGdWtMZhD6+owrd3MXBYsoXYXThbWv8c=; b=G3xIhLLnrYWJNLew+1qPlE3Fdy0G/wyGI5NnTGbWak67itpFYbZeUXmYMtCUwykROwqKn4 7Za2Qbrc+Hl3GH5+TgIn5DmCRcircLA9AjtkS/Lff+DBKZXol7vvvBC+BKBXbWzmh5urds U9L2SUZFenbNqap3zd9QdB0/lTolS6s= Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-6ad8243dba8so9790206d6.3 for ; Fri, 14 Jun 2024 04:46:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718365577; x=1718970377; 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=YhZTA0P9EB3vGdWtMZhD6+owrd3MXBYsoXYXThbWv8c=; b=ETQ7IEjltrf+vyyGGcxABPylVuxh04GeDhHhuvw8LnLQ4c2sMORwBgwkOeOMsEYirX 5cPPw7mSavo0kP+v6XQTeqaw+de9M1Eq89zcJhAD2ApnfpDo2aycKAwBsRmG6On7rR1m BP2wriMbpaGxLjDghGzGHcsMEd2H+YIuneDqKaFozzS0zTwwPzk9DTZAhstV6Dgq4krE F7uAeZDahCpJlggLAcmGc4v3fBDyyiV7ZqyQw2dAlGZZNrZd9+bGrQIpLD/8xJZGc5VY jM7dBzSgFqVMWIZPipY5mTz+zPvT4A3tdWkvxa2A6m2KwIhENq5aM+a3Ae85j+M+ni4W lhvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718365577; x=1718970377; 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=YhZTA0P9EB3vGdWtMZhD6+owrd3MXBYsoXYXThbWv8c=; b=iu5iwCYroG4ejihgfHJL2qIS+kfKkUx5s5hSRLuZuh/s635Io7hBmG92DMgiZkNR9e vo7LAekU96jPYdJEnNYe92DQ/rdNQXI2oFcd0CjH/ke1xwEDy7jmbKAtrCAroPNJrq/+ ruBiHSKlzZqgy6LWJbcKbz+1k5KLAHzKthbMcVpWK/txc1qA1JXRo+TgQ8+S/IFpY6gg ZVfUaj6wjjWbiqu9fCV3qT+CFEJ55j5+qi6pA4eJcAgPT0M4GCI/AaR1lNaePn0D7YWt Z1lrcEO58q/OVXOHo1lt/lGaEw/0cnwEHJEUm/hiWJhqIi/vIQ4n9ivUVIuOy4JnKsua y0Mw== X-Forwarded-Encrypted: i=1; AJvYcCUJHetu01UegOnOwbpnGalgWfvmIKnh0WOnM5D1XLU2seRDwd8ThhPUXIbh47JpSnsO151TC83ueFMTeUZgEo4xD2Y= X-Gm-Message-State: AOJu0Ywk2SrWZj70tMfL5BRYkec/9YyF5iN6Xse9dE1fRDC82U9H3agU MCwj+NpGDKx9/MtAV1YPoS9go6EssulqeA2ysTxmOh2JghCDBWTX6+/GWPfkj9efTzqsf8oIixh uyylcfK7ORSOGQanEOxZNQqsz254= X-Google-Smtp-Source: AGHT+IFaFnMNLjJYSYrMKDyE9tX4zgL8n/jhcGz01q5yiY/JXZZX7mC42E5kkQyr9LsVQPUZ9vqhx86BbZKpLx0rTA8= X-Received: by 2002:a0c:c203:0:b0:6b0:77fb:8f19 with SMTP id 6a1803df08f44-6b2afd6cb2cmr22836486d6.47.1718365577138; Fri, 14 Jun 2024 04:46:17 -0700 (PDT) MIME-Version: 1.0 References: <20240613023044.45873-1-laoar.shao@gmail.com> <20240613023044.45873-7-laoar.shao@gmail.com> In-Reply-To: From: Yafang Shao Date: Fri, 14 Jun 2024 19:45:40 +0800 Message-ID: Subject: Re: [PATCH v2 06/10] mm/kmemleak: Replace strncpy() with __get_task_comm() To: Catalin Marinas Cc: torvalds@linux-foundation.org, ebiederm@xmission.com, alexei.starovoitov@gmail.com, rostedt@goodmis.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, netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Andrew Morton Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 2BDCB4000A X-Stat-Signature: doxdqfzwu3c5knt6gsq776o6ejwjimyq X-Rspam-User: X-HE-Tag: 1718365577-584093 X-HE-Meta: U2FsdGVkX190I4cA7getAEPlRHyHG+ET1y06psoXv3ezreo5fXcUPTvPmLIBTRRqim06nZIT7NO9mU39E3dmpb36wdD/q64I/y2QnLmkjVzXiR59Tbtykb9zuP7UL1a2y99xhVoyq+TOh1xudibJSwPOspc/C5+E8pNfKcW8i2qONPD0DDPytuzWba0LDRppmUJjB9+SxFbw4SmNrBGxepwUAqrqIskbssVfY1FpjKTUjNpX1gAeNHYn0huj/jygCwrAX9v0LTIlkzM/UOmIlcZwhoB7h6RPLQxEiyIVcwIG/i7SBRW8Ld+ta+wSvroGJBPHDCS+/OLpUM732oErJNoHXktYD2vdynLVv2QwAJUB/RmICblH1IGUd2awZpwO4A7O8LcUg6cuCJEss98TCTk9BIgmSnc4PBsuVokriU+ZXXN0Pv93w9MyLpF2vd0dZilSH2vDDIQh4cjza2DavIkrYSLjFd07iow1RSJ9n9hTBh0GxRPyOiKUVzyYNkI/88bZgC9BK81kkEomiV+KLlH9jwUZu5/a6El8oG3jxduCsSO+b8KFEPdqFsWzZ+zfdu3DtRI9+AoHA4Nc3zwLOuzUVL6U9NDD3ExJjCLCAw3gvwQ1ricuQtf12EfnDk42tu0bTobq/1O0YHHVTYiFrei7wrDCpZgqnY/kv/eURoE/yjNbPjG/IkyFm2Si/DJjDuyqerooRsWcZOxEyNOD0yxq7ei7yVaN0BXEuDilBcFP0hcPXszUgqxkgHE/FgFyleMyqLDyJUN1NguDIuIQvRCvTbcJet5EZTsfwSOzzPmrUoC1H+u0yiSlz8KzWrW688Ae7WJ0ZQs3uXRgi/7RDgQvGeCbee/JWnaddfEFAd1VKdUN/PdwXA6Fn6b9lGdgekKehCixTlBLXJ0F60YWPuSDmt2dU318S5jt1YtLuvc24R9Q87CeU0rbYRclxgY8OW/FtdwqHRZfx+7AVZp 0N32aJUX T4q7xXZtdWEC5i2Mjl6uk/ZFUXgwgV5s2fAEu0bvN6ptl9Uiua4dsrRS6KDuCdScvlk+GNzXRfBBTNzk+X81AydmOt3QRWHWHHZhe+NzW5QRppTVuGHPHjRESeO1TjfCui+DyatmJaQoyL94Y/+PeUmbvj7di98g4u154ETaZjXiOIcAcjzvWdrqlcWVpjpBg7XNJm8vOlrqoBjPJMrFCAbp2ncc2YenwPRVUSippX24+jf8U7iq8/CDN7KVse0Rer+nBdyHoah6q6S46CDUq+riQygKym/hdLIMDYGXgXc5B+gZkevLOWHSLBSvxjRT1S/Mn1+8K8XSgKfI8TSCv9J7LXhpk6aF6+C2Ek7+sZ9mCCmrg8hya+WURH6Gn7eepWJ4p8qzEEwP7iP80ueL8rfXcW5RyUpmgLPAZS57GxPk3S3jwEXHuGSfFMyLSmNHwmIprl+oZaID+Y12UuPG1SiQcGY9MK/li2Q0HHzP+p4qYoOmbNxtTbqq/82XukYAS76rZIW4hZFhKWTnAUBYuJ1J7ZasZyauSq/pI5smBYJewD4DzbD4zwxlbcUIzIi6cROGqnwmwombop19KAD9vJalcuXlLtOlDpWGmKrvLRrnXx4UJX5BHAnQvSI5365/FhvtoSJCqPFyF/QY= 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 Fri, Jun 14, 2024 at 6:57=E2=80=AFPM Catalin Marinas wrote: > > On Thu, Jun 13, 2024 at 08:10:17PM +0800, Yafang Shao wrote: > > On Thu, Jun 13, 2024 at 4:37=E2=80=AFPM Catalin Marinas wrote: > > > On Thu, Jun 13, 2024 at 10:30:40AM +0800, Yafang Shao wrote: > > > > Using __get_task_comm() to read the task comm ensures that the name= is > > > > always NUL-terminated, regardless of the source string. This approa= ch also > > > > facilitates future extensions to the task comm. > > > > > > > > Signed-off-by: Yafang Shao > > > > Cc: Catalin Marinas > > > > Cc: Andrew Morton > > > > --- > > > > mm/kmemleak.c | 8 +------- > > > > 1 file changed, 1 insertion(+), 7 deletions(-) > > > > > > > > diff --git a/mm/kmemleak.c b/mm/kmemleak.c > > > > index d5b6fba44fc9..ef29aaab88a0 100644 > > > > --- a/mm/kmemleak.c > > > > +++ b/mm/kmemleak.c > > > > @@ -663,13 +663,7 @@ static struct kmemleak_object *__alloc_object(= gfp_t gfp) > > > > strncpy(object->comm, "softirq", sizeof(object->comm)= ); > > > > } else { > > > > object->pid =3D current->pid; > > > > - /* > > > > - * There is a small chance of a race with set_task_co= mm(), > > > > - * however using get_task_comm() here may cause locki= ng > > > > - * dependency issues with current->alloc_lock. In the= worst > > > > - * case, the command line is not correct. > > > > - */ > > > > - strncpy(object->comm, current->comm, sizeof(object->c= omm)); > > > > + __get_task_comm(object->comm, sizeof(object->comm), c= urrent); > > > > } > > > > > > You deleted the comment stating why it does not use get_task_comm() > > > without explaining why it would be safe now. I don't recall the detai= ls > > > but most likely lockdep warned of some potential deadlocks with this > > > function being called with the task_lock held. > > > > > > So, you either show why this is safe or just use strscpy() directly h= ere > > > (not sure we'd need strscpy_pad(); I think strscpy() would do, we jus= t > > > need the NUL-termination). > > > > The task_lock was dropped in patch #1 [0]. My apologies for not > > including you in the CC for that change. After this modification, it > > is now safe to use __get_task_comm(). > > > > [0] https://lore.kernel.org/all/20240613023044.45873-2-laoar.shao@gmail= .com/ > > Ah, great. For this patch: > > Acked-by: Catalin Marinas > > You may want to add a comment in the commit log that since > __get_task_comm() no longer takes a long, it's safe to call it from > kmemleak. I will add it. Thanks for your suggestion. --=20 Regards Yafang