Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4632245pxj; Wed, 12 May 2021 09:39:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzU9/SVXHC6YcEWnauCBTSfo9E7AdIVqSmunOhsdqXZgM0S3wsJtMjiD+HoIFfm5MEUXrdp X-Received: by 2002:a9d:1d45:: with SMTP id m63mr10498537otm.302.1620837436728; Wed, 12 May 2021 09:37:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620837436; cv=none; d=google.com; s=arc-20160816; b=JsZ7yJNe+0J74iC3BiqVM46FB/yXcXAocxfCH0SCToV+GCzCIbC+F7f/CDJu1hTNeN iw85Md2/PMy1A8xWkUu+b6pu1D7gVK/eGpxzh5Gxtz5XpT2xFCuMWevQLRLaYGihFqlZ y6KF5pgo5tK1a+0Xu7bp82eBEhIcziJdTd8/QdMI9Wn9vrRgcxZYDII42k8S93zMRINb hrJwz0DdFuHh4aDrzVUhyaXyIoxVKoEG1n/AiF1yGgisW8zc4zZekGt6685b4d0SsjTF v4LRB5d0WwMYgCQESvDg5fA9M7Uc33sj31PH0I8tZ3y20ecvn2X4xOX+GWZWqXKbIqtI lgWA== 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=DvW+/DqScXsMfRud4itVPR7bnc/S/QoTyOJQ+lBHG769XujFgRyDdjduvlqrn0z/lv 9e7saQjOoffeqW8P9q0rN5qcaWjCOO/vV0skNxx+xS2BQGmmMeEhhz+jG5LRxDPZW85O ZMvH9C6579TyubJFzxy/NDF2pEQrM8morLy4XGyP9CvFEabMt+QDp5Ltpj5CQ9iR3udp MvMb8B0xB9qVVvB8HGAMFNy9sgNTGfVYVfm8IPQqcEAKP+f0yrFfiUIun4952ufTL21q GUliWa210vimds43z9mnGcO/zMtXu/y3+e0/Yo6wH3e14YYdIuxlSky5mBjgLF9NQllO 4Y7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=MHnbrBSv; 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 s12si393456oth.118.2021.05.12.09.37.02; Wed, 12 May 2021 09:37: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=MHnbrBSv; 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 S242861AbhELQgB (ORCPT + 99 others); Wed, 12 May 2021 12:36:01 -0400 Received: from mail.kernel.org ([198.145.29.99]:42328 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235269AbhELPn3 (ORCPT ); Wed, 12 May 2021 11:43:29 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 30A6561C88; Wed, 12 May 2021 15:22:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620832949; bh=Ye/owjlNIoK0mUKgznSfE5i1P9eBj+sn/vOQXCOxK0E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MHnbrBSvf/WZC1VuaaPdMytfqB4UeeXnUWjG1+tmIbX5bD7zKeZvwet/YTm8Cy0lO HQR3ZUJQ0Udrzkh+nlqyOKI+pPq0vS2orGqdvBt1EEp0e3dRabZxeZeHbvNmJyJBh/ eVbOxta3hS//JRR3WFzDBHCrCqCxCqA30oX/qFY8= 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.10 489/530] wlcore: Fix buffer overrun by snprintf due to incorrect buffer size Date: Wed, 12 May 2021 16:49:59 +0200 Message-Id: <20210512144835.824105697@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144819.664462530@linuxfoundation.org> References: <20210512144819.664462530@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