Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp3193778pxb; Mon, 9 Nov 2020 05:17:51 -0800 (PST) X-Google-Smtp-Source: ABdhPJwe5HgeBcg6wrEvy4iiQVJi7jSerUZ0GfOrzsx9SBrVAyOo4AMXJEesh0nMdB7j/XoGq949 X-Received: by 2002:a50:cf46:: with SMTP id d6mr15641624edk.356.1604927871361; Mon, 09 Nov 2020 05:17:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604927871; cv=none; d=google.com; s=arc-20160816; b=bzAByN+o36hRxQfE5GwhVM/S3hrvifByUSuDCaTE1FY810OQ5yFMCRlrOr7Gvp9N8V T/4ePkN+JEQPTgrBvL3hWVGWGOz3+tHt7VmPibaa9iOjYohCZs/j1SPSHIXJwB+foUBE ZVriCuwYe546+V5Z9/zSSDhYlLNSHlzyBeguRb2zqT+C3ITh1Q9aZ6XN/RAVcWqEf+pk R3lLQJ+NAOP/ZovFN9YD5W13vDzJvug9wqRUpX1TEG1idI3P6dBl2W8iK23rOLRH8W+n O7EGfOHjjKOgwPch7wiskg/uKB+DgHP298mxXmjLtXP0GvfDuH0lzsa2cOi+fEuewh6M YsoQ== 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=yFeoPM5IyRDQ4fw4SYS3AqarA6tm9aTKl2GuVpf5Ebo=; b=MEsRXPXiivtuYoMSIObGyRDT+43xrARuxGq1DFYaA5x/Ffv9FwqlPAcK74ihL0BQo2 32OQt2A/0G6uGg6OIKzkzcR6Nwb026pUtd07+o/vN5JaFdhE8cohPzDiH16b6jJ2wkzn L3RGoy65uX17QnpXs8NLNU+tOLaeDXQKGXhc2iHkXi/0XFrONhYhWgla9Tlv2EmJkWCH WKMzgfU4DazIaBZlE/+fY4FS0rgnmn1rbdS8dl66tDlegT9fMxrCI5ui1ow9BNU1sFoP d7QVzt+6yU3h1yi74pIV5dsZW8n8hqWEfgEvLyKJRFthtSTt1YNp+1iaQQQM9DGIykku 03WA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="goR/b5/z"; 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=fail (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 v3si6884341eje.479.2020.11.09.05.17.26; Mon, 09 Nov 2020 05:17:51 -0800 (PST) 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=@kernel.org header.s=default header.b="goR/b5/z"; 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=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731883AbgKINNO (ORCPT + 99 others); Mon, 9 Nov 2020 08:13:14 -0500 Received: from mail.kernel.org ([198.145.29.99]:38964 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732949AbgKINNJ (ORCPT ); Mon, 9 Nov 2020 08:13:09 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6402F20663; Mon, 9 Nov 2020 13:13:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604927589; bh=4s+s+54s6ztPMdZSnsUCq9B+7cYRD+rien9Avayj+0o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=goR/b5/zhQU83uZVRO8DKpdkfMMPQPfLeAfJ209/KoSOKo7X101yAsFTdnu60dGOw w+O8y4+SiAEXNTOYOiMqw2n27M0f9qpJhh2RRz4VtnSvwzvAEuyOJy3q6BT9TR0U2C 4JEQtMR78XECVqeYVmvveITVxdaJwjuR3U4mBl68= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Qiujun Huang , "Steven Rostedt (VMware)" Subject: [PATCH 5.4 40/85] tracing: Fix out of bounds write in get_trace_buf Date: Mon, 9 Nov 2020 13:55:37 +0100 Message-Id: <20201109125024.516578878@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201109125022.614792961@linuxfoundation.org> References: <20201109125022.614792961@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: Qiujun Huang commit c1acb4ac1a892cf08d27efcb964ad281728b0545 upstream. The nesting count of trace_printk allows for 4 levels of nesting. The nesting counter starts at zero and is incremented before being used to retrieve the current context's buffer. But the index to the buffer uses the nesting counter after it was incremented, and not its original number, which in needs to do. Link: https://lkml.kernel.org/r/20201029161905.4269-1-hqjagain@gmail.com Cc: stable@vger.kernel.org Fixes: 3d9622c12c887 ("tracing: Add barrier to trace_printk() buffer nesting modification") Signed-off-by: Qiujun Huang Signed-off-by: Steven Rostedt (VMware) Signed-off-by: Greg Kroah-Hartman --- kernel/trace/trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -3012,7 +3012,7 @@ static char *get_trace_buf(void) /* Interrupts must see nesting incremented before we use the buffer */ barrier(); - return &buffer->buffer[buffer->nesting][0]; + return &buffer->buffer[buffer->nesting - 1][0]; } static void put_trace_buf(void)