Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4701104pxj; Wed, 12 May 2021 11:12:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbH7LVNwQstWhc2FlP/nIgMyprnqt+PctECKjBdDGfFGH0wmdHeJ1fh6UU2nYm/6tkQURF X-Received: by 2002:a17:906:94cd:: with SMTP id d13mr38894555ejy.478.1620843143623; Wed, 12 May 2021 11:12:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620843143; cv=none; d=google.com; s=arc-20160816; b=twvRCyWnBjOH02FRQ0fcnqAIk4SR2rnt232cuL+6Ob8cGhLfJo/lFQbNdhX5YJ/8G7 uf43SKtWTEsIlG6gXKab5xv5KG7Ng6EpTqbdqgMGwRi0fEhVjLYOP5Y169XfTQjZzbm6 9U9lMk2VGZoVAJHEUjSeD5TZ0KY4OjLHAtpa7SzXnkee4GO/fNd14ytPFDI3wO52ifHS suZEYt5TizTHFreaEx/XHBfIgETkUseBIKEQV8Xbrmwehza7Wm5shoFK1aFB318AovHR GmE5ye2mC1bQyrOOBlw29tS0KadSnrFeo8eFaTKBCI4X4vVq2uvO93mJ85xwkWm0d09N Az0g== 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=X2DB66qFKQHb9qQktazUWy+sRknSeiSMW2yCxYnGk+s1UB7OUvWKNOwEdNeE5gFPVG Zbn5XwKsnGdViEI1kFKnhXmMR9y5i0U4TpDeotJGHH2GYr/fROya8phI5quluEmKavSM KZXzziUoLTTgR74aaTIvSL0azHUMlDEvBCykMDn4EC/GVa3LeNZkzo1ExQptcXNe8pfP MbU2gK+Q3vLP1AQTTMywtyp3dBceoxzIhyGSnlGUZhTR3vUS14pU+BSxBNyqENAh0Wbg WDS9xMpAa553rzIKBbIfxvBXqo0mmdljMq6YJjereJLoBSbrbNBQZu/iMjwjg/8xVQt+ HMUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=S5rGXp1x; 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 g20si339037ejz.520.2021.05.12.11.11.57; Wed, 12 May 2021 11:12:23 -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=S5rGXp1x; 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 S241608AbhELR7T (ORCPT + 99 others); Wed, 12 May 2021 13:59:19 -0400 Received: from mail.kernel.org ([198.145.29.99]:43080 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240925AbhELQ0C (ORCPT ); Wed, 12 May 2021 12:26:02 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1FD77619B6; Wed, 12 May 2021 15:48:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620834537; bh=Ye/owjlNIoK0mUKgznSfE5i1P9eBj+sn/vOQXCOxK0E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=S5rGXp1xNENaL5NPg9wkYk1Q7L1gxLo5apnKUTxij+oJ9QVmkn+ScQUOGPyD948Uz Qnc1m7JaKohWdUz7YKnwEhQ1ebbyXYWWPRO0QHhr/mca6xs33IohYjC2furbFND/nL NX7qgeHKXsQ9ertbxWnBZNxdIpCWF3+GwfYwTStI= 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.11 557/601] wlcore: Fix buffer overrun by snprintf due to incorrect buffer size Date: Wed, 12 May 2021 16:50:34 +0200 Message-Id: <20210512144846.196992478@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144827.811958675@linuxfoundation.org> References: <20210512144827.811958675@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