Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4751721pxj; Wed, 12 May 2021 12:24:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQcSKrED2nLtL/jJxlITS6UxBPbN6HlbaC8G8/DCc6AhVEobsumo+MuErRCtWPRRErlLX8 X-Received: by 2002:aa7:cd50:: with SMTP id v16mr47560124edw.175.1620847456981; Wed, 12 May 2021 12:24:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620847456; cv=none; d=google.com; s=arc-20160816; b=wDvPBeEgLPHxdEmvwy/5fkWDUGZo2oP2EduDCnA/50ijg0K/C1Y6sxIEFQsnUQUJ4l 1JU8NHYZN43x6ZgSGhjeOf4nXX8udKp8ZpwAPVeokRS4svj01+lm8u6YvJ6Od79K46WP L3Sda98w2ZN25dQQfAwhVIi3zZUbvHWIP5S98GVUGKw0KaOIy/wqQa8mht0hK41Zk+uE fpC5RdGWbkl7+HXA14r0EjHa4gx2jVKeSvaT1hZ6k0DJXEy7FCLGYEkWjXQN3KRKMjsE /Hla9KAmpAaXBpQwB93e6BG+pzeCxbGSHZS5yuftSmRPZJtvBokhMmD/ziQTlNc6cK/s 1Lsw== 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=FrJxbZuP6hjb0ItGOIpBrK6oJqBDpFc3mZPG2V9LAJM=; b=qcrU5BGeU6qfbEX3Nhx2xOTJBlDu5pGq6poc0vI6EX5VfEJ66SmXGy8XlP7hlzkOSo 1om5H4FbXwbX48PZfNUyFvz7Oz8upsofocuTkdSTJHl6SJajU0dE9fO7NTZxIZ87DDbY r2hSNtXd5//fojJ8X9JDJA+K5E9Jml/V+32JNlRnxKIAiMDZ0Mtne52nWr2oIyXJLZRg KhUtkwP68MdQT+YU7oAnGbXQl0hWyDQVrdDj4/nL98mepdED1vS4X/lkwYV0kFNigast NhKmdE9eGmMa6S/Lfl7ag3TFP5dxK7rtWT33mBjhIVQH/k4UvtINDW9fqtpuVfY5G/qz b4iQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="Eo/QpnGE"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qo11si464792ejb.530.2021.05.12.12.23.53; Wed, 12 May 2021 12:24:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="Eo/QpnGE"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1378901AbhELTSK (ORCPT + 99 others); Wed, 12 May 2021 15:18:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:46966 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236837AbhELQsX (ORCPT ); Wed, 12 May 2021 12:48:23 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8BF4F61E81; Wed, 12 May 2021 16:15:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620836148; bh=Ye/owjlNIoK0mUKgznSfE5i1P9eBj+sn/vOQXCOxK0E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Eo/QpnGEvcBN2N8PXLsBLwYCy2ga387w71hahUa2TczvIh9sJMdeY2Jt+wLSKYkv4 uK8VrfcNay3D01lPoZIh/fpflbuqh4NTkXwjACBBqQhN85ARQYCvmm0UPzVYDhHM4M Ud11R8DPK63nRoSM0TwIaQICtopP7cbAYZbWo2B4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Colin Ian King , Arnd Bergmann , Kalle Valo , Sasha Levin Subject: [PATCH 5.12 629/677] wlcore: Fix buffer overrun by snprintf due to incorrect buffer size Date: Wed, 12 May 2021 16:51:15 +0200 Message-Id: <20210512144858.267040414@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144837.204217980@linuxfoundation.org> References: <20210512144837.204217980@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Colin Ian King [ Upstream commit a9a4c080deb33f44e08afe35f4ca4bb9ece89f4e ] The size of the buffer than can be written to is currently incorrect, it is always the size of the entire buffer even though the snprintf is writing as position pos into the buffer. Fix this by setting the buffer size to be the number of bytes left in the buffer, namely sizeof(buf) - pos. Addresses-Coverity: ("Out-of-bounds access") Fixes: 7b0e2c4f6be3 ("wlcore: fix overlapping snprintf arguments in debugfs") Signed-off-by: Colin Ian King Reviewed-by: Arnd Bergmann Signed-off-by: Kalle Valo Link: https://lore.kernel.org/r/20210419141405.180582-1-colin.king@canonical.com Signed-off-by: Sasha Levin --- drivers/net/wireless/ti/wlcore/debugfs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/ti/wlcore/debugfs.h b/drivers/net/wireless/ti/wlcore/debugfs.h index 715edfa5f89f..a9e13e6d65c5 100644 --- a/drivers/net/wireless/ti/wlcore/debugfs.h +++ b/drivers/net/wireless/ti/wlcore/debugfs.h @@ -84,7 +84,7 @@ static ssize_t sub## _ ##name## _read(struct file *file, \ wl1271_debugfs_update_stats(wl); \ \ for (i = 0; i < len && pos < sizeof(buf); i++) \ - pos += snprintf(buf + pos, sizeof(buf), \ + pos += snprintf(buf + pos, sizeof(buf) - pos, \ "[%d] = %d\n", i, stats->sub.name[i]); \ \ return wl1271_format_buffer(userbuf, count, ppos, "%s", buf); \ -- 2.30.2