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 F3166C27C55 for ; Mon, 10 Jun 2024 23:01:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7969D6B0088; Mon, 10 Jun 2024 19:01:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 746B66B0089; Mon, 10 Jun 2024 19:01:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5E73F6B008A; Mon, 10 Jun 2024 19:01:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3F4086B0088 for ; Mon, 10 Jun 2024 19:01:49 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id B62B3805D2 for ; Mon, 10 Jun 2024 23:01:48 +0000 (UTC) X-FDA: 82216503096.12.25B26DC Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by imf20.hostedemail.com (Postfix) with ESMTP id C82311C001A for ; Mon, 10 Jun 2024 23:01:46 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Y9OZOB5M; spf=pass (imf20.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=alexei.starovoitov@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=1718060506; 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=ls7HTQ+/jbzpvqw5yh4Yy1Cb/Btht+DdhN/vrACOwIg=; b=q1zDCRFP6+oMYyW/204dmeqHW/lW8/uasZVzJiiZlEkWhf9CFZCiq53+QwRV4ePRIE6BTe qe+TzDQVxN3Wfp50GDIpixkzCxlbihor9hjXx3uhscHX+F9nM4vmLOQH8JRwOzesmZY1w1 OrgYBCwkYLDmW7OGz32KjfnYw8B8fu0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718060506; a=rsa-sha256; cv=none; b=bjdlV8WZHpeJwH9CC+qMddHDnJtgXXpthkqRS/cdL9Ru1Heh9G5lT7lNAWBcZ8cU5KM+rK I8BL5qPFMvy/L1NB5i6OcNdpG9sDHL5gzNVsoWFsPUz+l78m//QEBiLbo+jmGoHInKJWcG seGAB4TXLvhnPI1PVhd5E7U4MGwBO88= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Y9OZOB5M; spf=pass (imf20.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-35f089e35e7so317123f8f.0 for ; Mon, 10 Jun 2024 16:01:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718060505; x=1718665305; 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=ls7HTQ+/jbzpvqw5yh4Yy1Cb/Btht+DdhN/vrACOwIg=; b=Y9OZOB5MKw0x6j9gxmrP0DPRKCDQi3SZPVOHrWIJt11LmQlUqRU3neeGs3dRCleaAM QSRWwNXKs6xH0vWd+Ao3ByYNJRBjbkZtKoYWGojOEF8YfJVGRslgC+PWMTpJRkS/LD3O EHoJEK2RdnFUCCsR2/LPcuISnOtsubchQytaHlMVvner/rPqqYPstaNc5BruC+U2cwnc eP5ObrNiGoTd5MDkhijhvWWc7E9vbCpH3s3uJMgt0J0C9gZh15xyXFJk9Lc8lifnaDDu 3nh73KZtHFYXBcnGkF3Fnd4FjAzrhm++F1AaNocKnASpX427TaZl4jYxQfrLsAv148k3 Itfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718060505; x=1718665305; 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=ls7HTQ+/jbzpvqw5yh4Yy1Cb/Btht+DdhN/vrACOwIg=; b=NfpSZQZdtJCIYaERlmcqTYN7FjMa4vHtnluAFdioUDwYDvMfW3S7BM/jidNWyFo0Zu rbCAj1duC3talJTUkEYTIfuYm7PfLvwar0KprtzZ7W1B63T9iElr0EDdl5UZk9bIFKtX FR0QTw6G6z3NRfvTZLpE7QWXaI1jVXrBmtV7uSTPz3jSdcyhm442ITxjjMjDvVB4k8lj 6jjm/y4u9uuFPtDk1t+lC0cXwSso1URu9MossDUUwhxf3XKERMwaa5cu0fO6+43S1fLE FBG02gTkErfLawP34O5hbsAzcNzU0WSyLNAei0QzsBVvwawY3CtE5Vn0pytXAwh0whJd GV1g== X-Forwarded-Encrypted: i=1; AJvYcCXbyawdSXh552BPSllW12+R1U8GkzIf0SLV5Yqva1BxQ3UMg4CNBILZYF8TffOXsTtUjrQKNFTi2a+uwdBfoCp8ju4= X-Gm-Message-State: AOJu0YzKagH9YZPyngC8YcNiy4ofQGyQUQvyhI1lFTEhuRTepWnuIlHF hBAhnv8UbsohDh4GK/qi145UDX/ejs4p/L2/bmF65VSAnx7zkoBN2VSxpr7Bh4sTO/CRm8Ob2QE hhBa+SNBBCI8jbj1stg4oh1CKq9Q= X-Google-Smtp-Source: AGHT+IG9rTv9XLL+c9x3TKAtlg11qCt3Ry3LNyhJckbX7PwJtMcxvlnWL84CmLkok90u60BS/pZg9lk0L5MvUxg112g= X-Received: by 2002:adf:fc0f:0:b0:35f:90e:a1d2 with SMTP id ffacd0b85a97d-35f090ea26fmr7973708f8f.9.1718060505013; Mon, 10 Jun 2024 16:01:45 -0700 (PDT) MIME-Version: 1.0 References: <20240602023754.25443-1-laoar.shao@gmail.com> <20240602023754.25443-2-laoar.shao@gmail.com> <87ikysdmsi.fsf@email.froward.int.ebiederm.org> <874jabdygo.fsf@email.froward.int.ebiederm.org> <87ikyhrn7q.fsf@email.froward.int.ebiederm.org> In-Reply-To: <87ikyhrn7q.fsf@email.froward.int.ebiederm.org> From: Alexei Starovoitov Date: Mon, 10 Jun 2024 16:01:33 -0700 Message-ID: Subject: Re: [PATCH 1/6] fs/exec: Drop task_lock() inside __get_task_comm() To: "Eric W. Biederman" Cc: Yafang Shao , Linus Torvalds , linux-mm , Linux-Fsdevel , linux-trace-kernel , audit@vger.kernel.org, LSM List , selinux@vger.kernel.org, bpf , Alexander Viro , Christian Brauner , Jan Kara , Kees Cook Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: p5htuhy978e6fnd1kgagfru4oggh5is6 X-Rspamd-Queue-Id: C82311C001A X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1718060506-695080 X-HE-Meta: U2FsdGVkX1+A4DsZM25ZsSjnpj1smY8gEHP/I3Tm8F2hYHt85gUL4IlP0vS2kw/lKGwa00Lu4dfZIamrI3rnN2Y0KjF27XgDvCfxvcCtEa8e5csFdEfRijr/y/g1z29KifF3OfBz+bIwLHgrbxMM/B7MOMG+JS1SEkAH7MidASiG4es5wZ2iDDCLxvKCb3VCEEH/vpwAAOgVCgKn+7KqJCPXISJEHSrc9sC+jgLvh1VDQu7YaJmG5cC3tVhxGagKt1N99gp9nZLIpPepYxg3sheMtRCCmz37gxOyqlhctiJFri9b6VZLgY1rL82SCqTYXVgFjxD0RQnzbeMXw3vAs5Qgu7IkC2K/oS51lHU2oXq15suK10VnlWQUAGY4ed4eArpHqiUyeVM0+s928z9GIGuek7NqAf37JwMgR5j23Rwbq7RqIG5N7GF5p4hjDnr5ZdCcUTvuII/klyxGnhySkW7G8En9saoAw2GgbNw4Psrh9A4iJDYCKq9ZWRdI1d0j+w2JZSIXnLsNQNHBbClHOh/2RGBIsv7DYV+hr2oMVEdNKvySAuLIQBibEWt1KeU6p8Wl6fxpT1EaNRRZ+3gsfHfVXjngVLBgst1vbncU7kmFeqjAdZGwfxnnGAIEJDuSkC05cWMMxnMm/6Gl3hnledRodBqXrYig/FVsD62nCB8KmfzdidKmlHBHx/+crLnmvLPQmPHzzE6BuhwduhRPUz/QkITHz6GIn6C7Od1bFyefEC5u/uJGz0QbkGSgxZ3lTx3a3botWqdfnh3K+YtsmdEsLWs0RkXz4qalniTRnYhxNTCMhIQNO28Kf4oBzsvlGLos2Jz6dUPKoVQ0Ocs4iluRPXsmM+J0kF0+z/MaLzrZYvkW8VYezWDG/NP4VubovrVwjRSesbhCkG2XD4obYEUpy5ciuB9KRYtWeXsgri6CC3Vg2H7q9V/xt3DRihzaIkbSTMRew+UwHIT1Vkg n1A3nJTL A3dYjoi4S2z4okKC69Q97w31+0l+dBiuRWNnGA1xFKgofKykKWFIYhoq+3vJIKAaR3u9JgjHVr22YClEoQijjgT5wKJ4GPaQYoS49HBSe2Ju1boptircLXoTzED40q3HsFMOuvIHMwfReJoUO2HSDvbRcjgNwRenVLLLahtOc68LZGw0lDvcmNGVDkfRO3KwrbzuJy9ielVljc4W+43bHbdILrPDMzbghibCFFNlcFLeUjGbdbDE/MRvJu6fwVJms2Y0QCnw/di6WNv2/Lu2Sl01rwq2RkrVLaLqUie4HCdb7u8/3gJtLNyC98n/g0RGPjUKNVKTIJjJ6gEK6B1QPjqHqFxUmkQ21C0niOPw2ONfLtJp8jrVZtW9boYMzD1BXBjJMLZc5gBwvPx8HZXB3UhuwG6+IkEGpTz9hOsrZO6eAkP0tnCEudDrdjdldJSVauTncKdPzFCY5+X0WH0X2FVF/VCEa3WD/tTw/UqaRctOJpXOwQd8bJ9dBNA== 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, Jun 10, 2024 at 5:34=E2=80=AFAM Eric W. Biederman wrote: > > Alexei Starovoitov writes: > > > On Sun, Jun 2, 2024 at 10:53=E2=80=AFAM Eric W. Biederman wrote: > >> > >> If you are performing lockless reads and depending upon a '\0' > >> terminator without limiting yourself to the size of the buffer > >> there needs to be a big fat comment as to how in the world > >> you are guaranteed that a '\0' inside the buffer will always > >> be found. > > > > I think Yafang can certainly add such a comment next to > > __[gs]et_task_comm. > > > > I prefer to avoid open coding memcpy + mmemset when strscpy_pad works. > > Looking through the code in set_task_comm > strscpy_pad only works when both the source and designation are aligned. > Otherwise it performs a byte a time copy, and is most definitely > susceptible to the race I observed. Byte copy doesn't have an issue either. Due to padding there is always a zero there. Worst case in the last byte. So dst buffer will be zero terminated.