From patchwork Wed Sep 13 00:32:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Stitt X-Patchwork-Id: 139773 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp550019vqi; Thu, 14 Sep 2023 11:41:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEu9fwV9NDJIcSdDm3/3y4hLNMOM4ZVlVOY865eLsOhTAwSVXE/ud7pdPNFLl1P9U1qsQ5X X-Received: by 2002:a17:903:22cb:b0:1c0:c640:3f3e with SMTP id y11-20020a17090322cb00b001c0c6403f3emr7753493plg.42.1694716915843; Thu, 14 Sep 2023 11:41:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694716915; cv=none; d=google.com; s=arc-20160816; b=vSTCFiFS4LTe4juewsYJ/5ZqH0HpWWpi+wh5Ssq8BpU+NEzbo+zCABNBLV+2lPeZpd wy+QF0z9EQdJkTbVn4zFx4pj9CbbLLoNnr3iLMH/ibYs/80f17Fs2eKIDU4LOsKnvGpl w6adhrdc4QCe40J6e0BKBZHDssdkjvowN9+F5T406Aikxdd34BwuLLcsdw4113dqPKo5 lf1IX+V29+W6i9FTe3oaQMiSIYqCIfL6+UdcVv5yQiY3gDW26ZnODfryYxeSeJxQqP9l NZDoAqc8M2uwoBt5oPgkfZqCQ4dARFMW6M+GB3BvguugyzSNMy68eR42Ws3NSMXqpX4Q tneQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:mime-version:date :dkim-signature; bh=cQl22gfvlENoqC9ZXlr6AUA6g9l8rOoYr5Ou8EedNjo=; fh=scjLl6zllGNKe5PYQXSA8pGoYiKVvWM3IQVQ/M4gb0o=; b=Yg0u+tk93I1JK0EKGVaF+WZjULP2KPMtXyCuaDuy9aV/7rI3D1EogwbTzVBg5dyZPM HseXgm5DGt6iUamGq9RDmiObfZkpKIo2+NbxoAl/YK8QmBuhIuhVSd19mshA4iMANXFT 7IG86jP2wPTedzQikyvPI9YuhSq/E7ACpEDzMfF4K0/EtVIOA0d6S1bwSsRSfpXzxPcu qFI2+1m5cTLyiuT84D0ahLIxjGp9Zxt2DgjxyqFQY7jh/xInjaQG9jlqmV1kYPllCy2k tP5WLW6wr1WAlfgGG8+H3EkKGQPNJz8rfovXzulToe8VsijWQdePJMMEKecxn0fnKkEt 49Rg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=TOXMPhmV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id j12-20020a170903024c00b001c362c47f0esi2210424plh.421.2023.09.14.11.41.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Sep 2023 11:41:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=TOXMPhmV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id D77E580FA86B; Tue, 12 Sep 2023 17:32:36 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233051AbjIMAch (ORCPT + 36 others); Tue, 12 Sep 2023 20:32:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37974 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231704AbjIMAcg (ORCPT ); Tue, 12 Sep 2023 20:32:36 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 77DED1708 for ; Tue, 12 Sep 2023 17:32:32 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d7e7e70fa52so5921863276.0 for ; Tue, 12 Sep 2023 17:32:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1694565151; x=1695169951; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=cQl22gfvlENoqC9ZXlr6AUA6g9l8rOoYr5Ou8EedNjo=; b=TOXMPhmVpM30/v3Ym1W6cdGCRVibsfIJLOLJuMfjfT6sEFT//4WtFgtG0UXWa2OCLk LsRtjpUG44wbUYYb32scmeJuItVfmjfQ5tKIfYEas9kLtcT6UT9QYUxZJsYj/xR7+PZp ELZcwn/CSvBcmo577/p3DQs6bXyZaB5WzETWa9Bt0/C0hQn4s74CTxQol/z8jkew+5t0 6mCxABgWwFN1QvGhaqa/Sj+N7WheRzwJG0cDjoq1/bG8oWdVRnDOGsxpijrD4P0dJYhV EHNogQoppCtbXx1YyfUruvexHA5ML5DUoEVwM9e5RkF2ZLF+VEI9QMpMaZQhqDc9RlG4 /raQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694565151; x=1695169951; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=cQl22gfvlENoqC9ZXlr6AUA6g9l8rOoYr5Ou8EedNjo=; b=W/ahf4XjjwYiklWWWwrw5cWhtxDcblhoxe2pJga0ZfLNne4Y8Lj+Q3Wvk3RD+kVfPA hQFTDTpCkrX3CKCA1HybBTyIe63s0EhKQ0OmDMGEYMy5qOvHwrN8xsMoS/VC4Uh0Q+3i S+v9hazNHvV34sEfELFHTYnU1Qx3lCMTbYtTxrAeqcHY/gcucXF13XkuH+HqGs74oLL2 NBKfx9pHBciSd5/ufNkGDfm56291HJaSvnv1Yk7M0UovaIvlmBCHFawvsYi8lkmuKPpF 9e2g5v4RNPe3YDFiLP2nnYs2p3P1ciO3J1m5RnhLiS7XAFpw4QhW4eHXqvKPB7QWQdnk MTvw== X-Gm-Message-State: AOJu0Ywz+eBGBv+D6lz5qNrmU/3rAricA1wm5I8t7a+3tLUY24dVrxVn 7AYusBk6a44Pf/tRqDWkpzaTVGOKuYofnecoMw== X-Received: from jstitt-linux1.c.googlers.com ([fda3:e722:ac3:cc00:2b:ff92:c0a8:23b5]) (user=justinstitt job=sendgmr) by 2002:a25:f824:0:b0:d07:7001:495b with SMTP id u36-20020a25f824000000b00d077001495bmr23740ybd.11.1694565151782; Tue, 12 Sep 2023 17:32:31 -0700 (PDT) Date: Wed, 13 Sep 2023 00:32:31 +0000 Mime-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAB4DAWUC/y2NQQrCMBAAv1L27ELaiqV+RaTE7cYuaBI2MbSU/ t0gnoa5zOyQWIUTXJsdlIskCb5Ke2qAFuufjDJXh850vRnbHlNWT3HDWaWwJiTdYg5ItsjnjV6 yhvWPabEvJHQXGgcarDOPM9RuVHay/p63+3F8ARydvrWDAAAA X-Developer-Key: i=justinstitt@google.com; a=ed25519; pk=tC3hNkJQTpNX/gLKxTNQKDmiQl6QjBNCGKJINqAdJsE= X-Developer-Signature: v=1; a=ed25519-sha256; t=1694565150; l=1681; i=justinstitt@google.com; s=20230717; h=from:subject:message-id; bh=bOgFzN8SV0Qi4vEgDu2BIfI1a2yF4o5ibhxUCjl2z5s=; b=WToZdgDM5Ly/+mHpiu1w7j8NAZvAWbO/Dnsor3phmGalGk7ChrcEfY8n208HdrWqz2DC/h2HV 5U4mxlaEIuxD9LgvsFARKZ9O2ZBhpeaKhEsFEFYxbz+EAERaz0Gnbto X-Mailer: b4 0.12.3 Message-ID: <20230913-strncpy-drivers-crypto-cavium-nitrox-nitrox_hal-c-v1-1-937411a7bc7d@google.com> Subject: [PATCH] crypto: cavium/nitrox - refactor deprecated strncpy From: Justin Stitt To: Herbert Xu , "David S. Miller" Cc: linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org, Justin Stitt Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 12 Sep 2023 17:32:36 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777039485063011930 X-GMAIL-MSGID: 1777039485063011930 `strncpy` is deprecated for use on NUL-terminated destination strings [1]. We know `hw.partname` is supposed to be NUL-terminated by its later use with seq_printf: | nitrox_debugfs.c +25 | seq_printf(s, " Part Name: %s\n", ndev->hw.partname); Let's prefer a more robust and less ambiguous string interface. A suitable replacement is `strscpy` [2] due to the fact that it guarantees NUL-termination on the destination buffer. Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1] Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2] Link: https://github.com/KSPP/linux/issues/90 Cc: linux-hardening@vger.kernel.org Signed-off-by: Justin Stitt Reviewed-by: Kees Cook --- Note: build-tested only. --- drivers/crypto/cavium/nitrox/nitrox_hal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- base-commit: 2dde18cd1d8fac735875f2e4987f11817cc0bc2c change-id: 20230913-strncpy-drivers-crypto-cavium-nitrox-nitrox_hal-c-f6c97c7af0b4 Best regards, -- Justin Stitt diff --git a/drivers/crypto/cavium/nitrox/nitrox_hal.c b/drivers/crypto/cavium/nitrox/nitrox_hal.c index 13b137410b75..1b5abdb6cc5e 100644 --- a/drivers/crypto/cavium/nitrox/nitrox_hal.c +++ b/drivers/crypto/cavium/nitrox/nitrox_hal.c @@ -647,7 +647,7 @@ void nitrox_get_hwinfo(struct nitrox_device *ndev) ndev->hw.revision_id); /* copy partname */ - strncpy(ndev->hw.partname, name, sizeof(ndev->hw.partname)); + strscpy(ndev->hw.partname, name, sizeof(ndev->hw.partname)); } void enable_pf2vf_mbox_interrupts(struct nitrox_device *ndev)