From patchwork Mon Oct 24 11:31:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 9530 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp483483wru; Mon, 24 Oct 2022 07:27:31 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5cil5OUd8IVRwtsLlReeTTG7Q26uT2EgiqW9GY9gJmIk6kTRy2hzNucIwnYVGl2I5oXdOz X-Received: by 2002:a63:e113:0:b0:439:e032:c879 with SMTP id z19-20020a63e113000000b00439e032c879mr28294484pgh.287.1666621651248; Mon, 24 Oct 2022 07:27:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666621651; cv=none; d=google.com; s=arc-20160816; b=EA+6/ekdXtzQzyLW5SA3ypQs7kxFlh17OTGDg9C9RFxbrgH2/PpQH5RS2wqj5++Olr r1ytwxdLQMbJHzMXoXtScQRgDzBaP+K1AGNdKf+cXS+OM2pCKpWF55El3H1AISGv4Jl3 d5waab2cm4nL80joF2XnHPD1bhy2mFpY6eZ4b73LPaOfjLhMMVCOb94bk3vuUuJVj/QB tFD3EnqMVzvVqFfWhBCTUf8FXQcpubifwkbCXr4HAEoXM1XCysaTG36tZe3Zdc3X7/i+ G2f85fU7KVj2WZusvPcOq9dRBcBM92IGNXN1AvSdxkiNwi59CzqWdyN2+sQ0p3jicPcY ZIZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=K3xh9RUDnc68CqxZxphVbwFpfVeUFDeeiCKwOh4rQ1Y=; b=qPKPvW6a5Z6JS7PzOf4OTOzILGnF2HAPPYf0aOaN8/qGKmnrQMh3Tu7U1hxBzvVZGT 9WIHEK5RnqWGXeqtTWC6cVDPIveyh4LuFF13OoqRWtx2ZjR49Za1XEojYhymk23GLcf3 qG0Ns1PYt+qkpGawYwcuA/J2npWzvA51ekltzIPoN54NFbcPcK6Wf1Er6krPoWmYfvA1 9HGTF0xErrnYRoZYpSigiuda+wkbHBdDddVjM/LuMcUlHSHY0SBI50qqvj5SUYugLtzr 9IJ8Vt1kvrCv/uBUlRkPschNEC9ZRPnJovsUWGI2wTy73Hv9+ky0+f0oyPIf0s8utjjS CVOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="QIH8AL/O"; 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=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s16-20020a63e810000000b0046248881576si35197539pgh.157.2022.10.24.07.27.17; Mon, 24 Oct 2022 07:27:31 -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=@linuxfoundation.org header.s=korg header.b="QIH8AL/O"; 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=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236976AbiJXO0I (ORCPT + 99 others); Mon, 24 Oct 2022 10:26:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46792 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237011AbiJXOYQ (ORCPT ); Mon, 24 Oct 2022 10:24:16 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5D72E7FFBF; Mon, 24 Oct 2022 05:59:03 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 566466133A; Mon, 24 Oct 2022 12:46:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6B091C433C1; Mon, 24 Oct 2022 12:46:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1666615612; bh=ZkshCHsyO1rC8pyvPzMQSAM621jXH3L7CdrkbOc2lTE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QIH8AL/ODKtjLrubblmRt/DHtHxHFlzOczf5C33k8sOY0LQjB62kzttpQcXvGnBFa 3tZlIYGttZDATEI9kVQJ+7DTQOlPLRrVL+Jy8LExeFvSMlk03ijrM89Od3C0hZyoSS FN0px516zyXxGTuonN7KvWrHFd45SlVcFoudEU8A= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michael Kelley , Guoqing Jiang , Saurabh Sengar , Song Liu , Sasha Levin Subject: [PATCH 5.15 317/530] md: Replace snprintf with scnprintf Date: Mon, 24 Oct 2022 13:31:01 +0200 Message-Id: <20221024113059.372378113@linuxfoundation.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221024113044.976326639@linuxfoundation.org> References: <20221024113044.976326639@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747579464644558345?= X-GMAIL-MSGID: =?utf-8?q?1747579464644558345?= From: Saurabh Sengar [ Upstream commit 1727fd5015d8f93474148f94e34cda5aa6ad4a43 ] Current code produces a warning as shown below when total characters in the constituent block device names plus the slashes exceeds 200. snprintf() returns the number of characters generated from the given input, which could cause the expression “200 – len” to wrap around to a large positive number. Fix this by using scnprintf() instead, which returns the actual number of characters written into the buffer. [ 1513.267938] ------------[ cut here ]------------ [ 1513.267943] WARNING: CPU: 15 PID: 37247 at /lib/vsprintf.c:2509 vsnprintf+0x2c8/0x510 [ 1513.267944] Modules linked in: [ 1513.267969] CPU: 15 PID: 37247 Comm: mdadm Not tainted 5.4.0-1085-azure #90~18.04.1-Ubuntu [ 1513.267969] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v4.1 05/09/2022 [ 1513.267971] RIP: 0010:vsnprintf+0x2c8/0x510 <-snip-> [ 1513.267982] Call Trace: [ 1513.267986] snprintf+0x45/0x70 [ 1513.267990] ? disk_name+0x71/0xa0 [ 1513.267993] dump_zones+0x114/0x240 [raid0] [ 1513.267996] ? _cond_resched+0x19/0x40 [ 1513.267998] raid0_run+0x19e/0x270 [raid0] [ 1513.268000] md_run+0x5e0/0xc50 [ 1513.268003] ? security_capable+0x3f/0x60 [ 1513.268005] do_md_run+0x19/0x110 [ 1513.268006] md_ioctl+0x195e/0x1f90 [ 1513.268007] blkdev_ioctl+0x91f/0x9f0 [ 1513.268010] block_ioctl+0x3d/0x50 [ 1513.268012] do_vfs_ioctl+0xa9/0x640 [ 1513.268014] ? __fput+0x162/0x260 [ 1513.268016] ksys_ioctl+0x75/0x80 [ 1513.268017] __x64_sys_ioctl+0x1a/0x20 [ 1513.268019] do_syscall_64+0x5e/0x200 [ 1513.268021] entry_SYSCALL_64_after_hwframe+0x44/0xa9 Fixes: 766038846e875 ("md/raid0: replace printk() with pr_*()") Reviewed-by: Michael Kelley Acked-by: Guoqing Jiang Signed-off-by: Saurabh Sengar Signed-off-by: Song Liu Signed-off-by: Sasha Levin --- drivers/md/raid0.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/md/raid0.c +++ b/drivers/md/raid0.c @@ -48,7 +48,7 @@ static void dump_zones(struct mddev *mdd int len = 0; for (k = 0; k < conf->strip_zone[j].nb_dev; k++) - len += snprintf(line+len, 200-len, "%s%s", k?"/":"", + len += scnprintf(line+len, 200-len, "%s%s", k?"/":"", bdevname(conf->devlist[j*raid_disks + k]->bdev, b)); pr_debug("md: zone%d=[%s]\n", j, line);