Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp3563941rwb; Mon, 7 Aug 2023 16:07:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGmxa9vVW71WYyJDWKu856gagK1CPXM6/kW2Ge4fNhPvE6lJdfBhektOYy5fIOtlXsNpgUG X-Received: by 2002:a05:6a00:194f:b0:687:8417:ab58 with SMTP id s15-20020a056a00194f00b006878417ab58mr12814132pfk.32.1691449667832; Mon, 07 Aug 2023 16:07:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691449667; cv=none; d=google.com; s=arc-20160816; b=ggxxzUpZohnBwLsoXxJd9NwAFv3diDONS9+451a0yZymBKorsKbiArAnKkO56Ly714 9C+YINtFbSf4AIcqG72kOmdHK4FvNQtDH7JjiZ4YDqynGntHzcgL/9xk6BD5qauUbQZg NFV0OI7leUQi7yrr1S3zBLfjIyqq++3HoZjvqpSJyKvQ2UsRWKsX+JG7T+qoRWwDBDLU X4l+2Bpb4Ri1s0A1qGFqHwiFygakgGproE7n2x5bsnd/Z3BNS/OjpgiLSVzKEInBndpY 1S/8friBQWPpegelLtPohP1TwmC5CT+QoEW+2IMzfDvqGvbCQFgM6mDR0RPMiR0ocK9E RE4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=fdgZ+yKdFSOFiY00JEX4rMGwnQcYiswrUXgyH1Y7NI8=; fh=Gwv3AwElObrubM64gMrsDKFMOyk5901L+vK4Dkj/Tew=; b=uriF6HKxELoXurYEjvdXQmeHf8yFFzONtvqQ1xJTp0OL4tfojEJNA9L3mLwM9rQwI5 h8jeVmhf1iB0IaWKorONbUHFvk0arQJPbg+daxFmWaDSJ5wxIsvUK1fmeaBoUi/spOC6 X4tIJq4Bovud0B08ohTBPlhcX8Zza5JIN2hxopcfCthrME7TvsXd5+gDTsvs7Rp7wRA5 oQQsACdPdshW8MfdXfYMhi5QS+J8yvMSLboCt825kV7jWZSOq7iddwDqD+Un3AZ0/Kq1 jnWKr9CyTvKDoUbVSICoLwWW4V9Gor5HrE4SGxnUHQMmSgleYuFSZCRAEgAgStgZaZWN 4U2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=zmwt3+Vh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i130-20020a628788000000b0068131db9c6esi4089981pfe.138.2023.08.07.16.07.36; Mon, 07 Aug 2023 16:07:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b=zmwt3+Vh; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229499AbjHGWhQ (ORCPT + 99 others); Mon, 7 Aug 2023 18:37:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229965AbjHGWhO (ORCPT ); Mon, 7 Aug 2023 18:37:14 -0400 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2E78B3 for ; Mon, 7 Aug 2023 15:37:13 -0700 (PDT) Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-3fe1e44fd2bso17025e9.0 for ; Mon, 07 Aug 2023 15:37:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1691447832; x=1692052632; 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=fdgZ+yKdFSOFiY00JEX4rMGwnQcYiswrUXgyH1Y7NI8=; b=zmwt3+VhE/zISQHArzy0S2xng2eRXEBRjH7vY5M6DhOL7yCzeQQrj93fhG6GLN15FV XyjlkGW16ZLDgOh/nunApLS2HRoVieiyhYqAhJoTN1WLXoZjHuu/QsBuCvgZeytytsgo ZPtwtuY3men0q2NUExwdbgTjTWggH5a2/RDxI6GJYjU8ChdvJMVD10L+Sy61oBNiWqpR iVaBz4GP1ZdKSAiUnqxK4CZx/fj6y5xm/SRCNm3Aa780rxcazX/CE8ERan5CkXKcGjXR Ej2xGEHDIPWt2fAVc3ervijwKK5jXKQuplnugTBOGwkOrN+i2Xo4LAC7L8VhlOQaC5pB MVvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691447832; x=1692052632; 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=fdgZ+yKdFSOFiY00JEX4rMGwnQcYiswrUXgyH1Y7NI8=; b=KdWniJKMIH4UbztWpk43gT5iUVoYSU1vtFEAPoiU9mttCy4qnS+ATWWPN833HBT233 mxZM3wn/Amt7VzdwfuGVPCYffD0+HWDmjNw19npKuO9d84lLy9PW7xoPpypktHDX12QZ mcsbM8s9UybZV4/PQVKaNolDJy2+rIy19lCAQ81aoJJY5DCDXnFxfeOSJXI8m80wUOzz ogh8vhgQbB13WVpxYTsVBZKqx3wIRkR+7zjPteUQMTYhdFieEDLjFyAo+GZqXlpHEDSu TMOF6VxmPNzw0ks4nPrjOjr3jhTKlHfQpaed2zARz5LVSaaKzjJ1DdcIlfMQDya9opue zOUA== X-Gm-Message-State: AOJu0YxRTlOwmqnjyXdqrgI4U8bLG62M1oeSIN8KiTfwkohx0XZfDdKS v/obc40AjoCqpjNs9qZpyvIuqB7RP+XNq8C7S7UO X-Received: by 2002:a05:600c:1d13:b0:3fe:b38:5596 with SMTP id l19-20020a05600c1d1300b003fe0b385596mr234589wms.6.1691447831991; Mon, 07 Aug 2023 15:37:11 -0700 (PDT) MIME-Version: 1.0 References: <20230807-arch-um-v1-1-86dbbfb59709@google.com> In-Reply-To: <20230807-arch-um-v1-1-86dbbfb59709@google.com> From: Bill Wendling Date: Mon, 7 Aug 2023 15:36:55 -0700 Message-ID: Subject: Re: [PATCH] um: refactor deprecated strncpy to strtomem To: Justin Stitt Cc: Richard Weinberger , Anton Ivanov , Johannes Berg , linux-hardening@vger.kernel.org, linux-um@lists.infradead.org, linux-kernel@vger.kernel.org, Kees Cook Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 7, 2023 at 2:18=E2=80=AFPM Justin Stitt wrote: > > Use `strtomem` here since `console_buf` is not expected to be > NUL-terminated. We should probably also just use `MCONSOLE_MAX_DATA` > instead of using `ARRAY_SIZE()` for every iteration of the loop. > Is this change necessary? I have a general preference for ARRAY_SIZE, because a change in size is less likely to be overlooked (unless that goes against the coding standard). > Also mark char buffer as `__nonstring` as per Kees' suggestion here [1] > > Finally, follow checkpatch's recommendation of using `min_t` over `min` > > Link: https://github.com/KSPP/linux/issues/90 [1] > Cc: linux-hardening@vger.kernel.org > Signed-off-by: Justin Stitt > --- > Notes: > I only build tested this patch. > --- > arch/um/drivers/mconsole_kern.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_k= ern.c > index 5026e7b9adfe..fd4c024202ae 100644 > --- a/arch/um/drivers/mconsole_kern.c > +++ b/arch/um/drivers/mconsole_kern.c > @@ -4,6 +4,7 @@ > * Copyright (C) 2001 - 2008 Jeff Dike (jdike@{addtoit,linux.intel}.com) > */ > > +#include "linux/compiler_attributes.h" nit: Should this include be in angle brackets? #include > #include > #include > #include > @@ -554,7 +555,7 @@ struct mconsole_output { > > static DEFINE_SPINLOCK(client_lock); > static LIST_HEAD(clients); > -static char console_buf[MCONSOLE_MAX_DATA]; > +static char console_buf[MCONSOLE_MAX_DATA] __nonstring; > > static void console_write(struct console *console, const char *string, > unsigned int len) > @@ -566,8 +567,8 @@ static void console_write(struct console *console, co= nst char *string, > return; > > while (len > 0) { > - n =3D min((size_t) len, ARRAY_SIZE(console_buf)); > - strncpy(console_buf, string, n); > + n =3D min_t(size_t, len, MCONSOLE_MAX_DATA); > + strtomem(console_buf, string); > string +=3D n; > len -=3D n; > > > --- > base-commit: c1a515d3c0270628df8ae5f5118ba859b85464a2 > change-id: 20230807-arch-um-3ef24413427e > > Best regards, > -- > Justin Stitt >