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 EB90BC4167B for ; Fri, 8 Dec 2023 16:51:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 89D166B0096; Fri, 8 Dec 2023 11:51:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 84B8E6B0099; Fri, 8 Dec 2023 11:51:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 761316B009A; Fri, 8 Dec 2023 11:51:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 6845E6B0096 for ; Fri, 8 Dec 2023 11:51:13 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 3FF57A1018 for ; Fri, 8 Dec 2023 16:51:13 +0000 (UTC) X-FDA: 81544241226.13.3036D28 Received: from mail-qv1-f51.google.com (mail-qv1-f51.google.com [209.85.219.51]) by imf19.hostedemail.com (Postfix) with ESMTP id 7AFDA1A0019 for ; Fri, 8 Dec 2023 16:51:11 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=uKTw06Hx; spf=pass (imf19.hostedemail.com: domain of glider@google.com designates 209.85.219.51 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702054271; 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=eIcp9jypYULc/a0PN4uogFYiIDljiHAuDtNHVxk71mg=; b=DArBFbKDdvkIQ6W5Kjx848zI6jRSNYFKVDwh6kNVm+5eSnQyWAcKTAPBmgXN+DOSwD4Jax gpeIa4gD4M2NVLRkrkqxZQV0lwWLHBvGuR9FVqaRNjzMYr+inBu7WM23pqyMBhLdZPycX4 4V8744cuQGlSaAsoyIY5TgV1z+/CqfE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702054271; a=rsa-sha256; cv=none; b=jfbQ0T8Ki76hVA7jAV+Psr5mVjqc4Cmu1zAYN26Hhroj3J4a0VRcxG3Q1c20Ei2hC5Leg2 I6a26CJ984/n6czMF4Npp6krsdr259i5cLq27v5Fg94om9nJKD7L4dEExWV4UciUU9kmR3 l2BVEsTKEizODujpjkqMEqwrdptogG0= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=uKTw06Hx; spf=pass (imf19.hostedemail.com: domain of glider@google.com designates 209.85.219.51 as permitted sender) smtp.mailfrom=glider@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-qv1-f51.google.com with SMTP id 6a1803df08f44-67a338dfca7so12968036d6.2 for ; Fri, 08 Dec 2023 08:51:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1702054270; x=1702659070; 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=eIcp9jypYULc/a0PN4uogFYiIDljiHAuDtNHVxk71mg=; b=uKTw06HxIhGiWX15d9ptfEUbGo9sko774DMvA6jMLaa9jtrQSVSGsU040Z8bWxnduj MiiAo/meoucLvSw6r0cFOjEq1IdEEjfMLpKmuZc3YTxtAXsz0/bne5L77PfUgFu5xcR0 uLf2MXpOuyxdEbwgjc3gvFF8sI3JpOFdodCMG5XAF1Gz+sMRx9kw5ywN/LkhXQ+FDZl5 QWMpBqqnSF7wLjNMcAkpUiz/0fGLt2OdW7Q9AR2EJZzSDKRL9EYe1omUvvksXrsBEEds DNVxeJpQgQNkOgoo6xJKQCeOOqUHKVgddgZYUkrp78wGZDc64i9d650BkV+8Pp57jpQR NxqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702054270; x=1702659070; 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=eIcp9jypYULc/a0PN4uogFYiIDljiHAuDtNHVxk71mg=; b=w4l65X22d/gD91H9hy0hY4UN8d/wa5/vstzI204WMKwwhup1TsIVNj0BBxs4xDXLP0 nTHksXEHSD4v2GICPRUvcKo1r1aCidDqYhc2umXiGVkATCZn5YCz8EtxEP9uL4jQabNy fqjd4pLqHIi7dYose6ahIM/762bvpRJ7QUNNjLOD0Ek3sAfu9aPUW33Gd1Rho2MuUYRA uoYCCbAn8Hws5ivicFvtpQTh7/Iz1WC8A2ng/CpC96MYE4SRZ2IJ6gMPKcEqewWBuPqH 604tdNY+o++YzTp0d/N5cxwTRzkMMRREJ2p3SG3ZOrT/i2iwsce8dAhJmQ3hYpovQkLq AeFg== X-Gm-Message-State: AOJu0YyZRPks6Gy5YHCMKAOZ52N2IYsDRZ67iFNhPLNPKZz3VHd3dHGO v56G0xp+JYIMT2sh+AlwDaqzsQLJS7OLj3u4VM67Lw== X-Google-Smtp-Source: AGHT+IE/6Nwbhf4SS9TLr4ojb1XW8J/22KVeKosnXzUvx9TzWSmL9hJNlMtz5gJPuHi3WKCMxewFNFHWT3ygW1WZWRI= X-Received: by 2002:a0c:ea88:0:b0:67a:9a7d:ee10 with SMTP id d8-20020a0cea88000000b0067a9a7dee10mr256389qvp.0.1702054270555; Fri, 08 Dec 2023 08:51:10 -0800 (PST) MIME-Version: 1.0 References: <20231121220155.1217090-1-iii@linux.ibm.com> <20231121220155.1217090-19-iii@linux.ibm.com> In-Reply-To: <20231121220155.1217090-19-iii@linux.ibm.com> From: Alexander Potapenko Date: Fri, 8 Dec 2023 17:50:30 +0100 Message-ID: Subject: Re: [PATCH v2 18/33] lib/string: Add KMSAN support to strlcpy() and strlcat() To: Ilya Leoshkevich Cc: Alexander Gordeev , Andrew Morton , Christoph Lameter , David Rientjes , Heiko Carstens , Joonsoo Kim , Marco Elver , Masami Hiramatsu , Pekka Enberg , Steven Rostedt , Vasily Gorbik , Vlastimil Babka , Christian Borntraeger , Dmitry Vyukov , Hyeonggon Yoo <42.hyeyoo@gmail.com>, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-s390@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Mark Rutland , Roman Gushchin , Sven Schnelle Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 7AFDA1A0019 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: znng477cydduw8um8q5as5z5hukdfhde X-HE-Tag: 1702054271-123364 X-HE-Meta: U2FsdGVkX1/Cimo/+JiGQLLthMy/0qK58r6xfxo+BPuYiOMIGO8fZC/fUorviAoLo1nRdDQ0rChI5vURGm+X6Nf4j+2rkif1XKw3YhZPhB94NqhahYqD7F9Ax9oI0ceAku2aLbE6SJmM96O9YlH2MAuOaDBp7ExIEVyibYMAtmhAlNIjrXcVh1KApJWQUNZg1FQ5Yw4t/b+NgIXUmnhsHkHVFtjtxed7+anMf8/0H/qrPpMwPC96gDW6JnijhMlCsYf3LZvEPPNspu7VTyqIhnxFJ+UQzPZLb7T3Qfk7CDJNfWMhe+h6MkNm5xRzAEVAjA00v4AKwxLZVcbnbx94naQyW268daTs6zAC09tllmGLzbGOBIEazpFz8cfeqUhz1OEGwbaELh4SASHc/vd0Bp7roPCU5/Owjxvt1Ji1tN5Z8lMIBiC50NpoBypO41d9VpsUJLbJ/aOFkohLYzTAl5i/tOayMYEmdx7BD5j1qmtSVbJ9SU823i9IePPch+kwbCmc0VeuKWw2gYNqjFTvoOEW6txi6X0+qX97deEBm+egSwik4iXyQxsloctOU4WAHBcFnLWNU87SSZIwPatU9QYuaDrtEshuNlnijW0zAWvB8X2himgC+bNLsw0CkCd/wkFasZ/6+YKsHXbLNHCDwiq8OTCilwT3CgpQW5uhBjh1qSOtlE1A4cwuzrfSMln8HZH/LGM0Q3em6/Xy1tUHCJBFmxsQd6dTSZUNv5GbS8baaGtZFcXP2vYFh5FwquFMPB1eF7pDr7N2hqp8Z+kdeheoy7TbF5WAHJHYyHlaVZWL8fAHqP0uLM9NObO3ro8Fi55aOwdH8zIyzmHNIAgmuTk/MU9RHHr76CY4haZ2l1ybsO8AXQaVtkxd0cTeLlBgCLuccnn5mHdltcbKxWxO+D5Ie9oVc1Ws1FaR6vm/3FXl8vh/4dmxawZRYjR6YFxTJVm0x4vakTEY15l+d+N AoUEwC2C usuKGIQpDXFIyXZTJYi/Oe3iwBrOGpMASUWP33zdT+JhaMZ+WX3EQX1CNM4F+5bKyf2z8eQ/3WCmZqSJheBkxCG4tN+Haxncp9Z+RxAgcoIMsDeJLxpbyfWP4/9JJE9URSZtpLCuA312WnQtrrdDRTbczuU41dt5dkEvBK3xxE40GrRnOUQH84R98TQ41Xl79azDwFECKEKDHpg7BLKyiUYS6EvXw5RAyEcy4HBl+62fgdu/KzCUD1JmjkHsKofD0mQaXTRQT6lJ/mFf483Cl1FNzPMMGGiCotFNLEIpeIfT+ujBv5vH8KXEnWxd7W85LFAFc X-Bogosity: Ham, tests=bogofilter, spamicity=0.000035, 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 Tue, Nov 21, 2023 at 11:02=E2=80=AFPM Ilya Leoshkevich wrote: > > Currently KMSAN does not fully propagate metadata in strlcpy() and > strlcat(), because they are built with -ffreestanding and call > memcpy(). In this combination memcpy() calls are not instrumented. Is this something specific to s390? > Fix by copying the metadata manually. Add the __STDC_HOSTED__ #ifdef in > case the code is compiled with different flags in the future. > > Signed-off-by: Ilya Leoshkevich > --- > lib/string.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/lib/string.c b/lib/string.c > index be26623953d2..e83c6dd77ec6 100644 > --- a/lib/string.c > +++ b/lib/string.c > @@ -111,6 +111,9 @@ size_t strlcpy(char *dest, const char *src, size_t si= ze) > if (size) { > size_t len =3D (ret >=3D size) ? size - 1 : ret; > __builtin_memcpy(dest, src, len); On x86, I clearly see this __builtin_memcpy() being replaced with __msan_memcpy().