From patchwork Mon Nov 9 12:55:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 322648 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2A1EBC56202 for ; Mon, 9 Nov 2020 13:31:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CFB3322227 for ; Mon, 9 Nov 2020 13:31:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604928671; bh=Qig32iJy/AMBo4tI3512+wgkuiXN1kFxWXumB4pjLkQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=Poa6UceX44ampcybNsv5izEA0wKCTD18Fjkt7gzu+4/8TVawzxlUd+K/xPpU9G7kN 20E0nssK3usfXG4A1C6LkrXtbqqNabSz+7Et+vsnkcHJS+zvqDq2xNT8LAv/2jx6jF GoaH2eGN5u7ls4ZNmO1XJ2yvORDBPMSZdexk2yZg= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731921AbgKINJw (ORCPT ); Mon, 9 Nov 2020 08:09:52 -0500 Received: from mail.kernel.org ([198.145.29.99]:34920 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731286AbgKINJv (ORCPT ); Mon, 9 Nov 2020 08:09:51 -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 8BAFD20663; Mon, 9 Nov 2020 13:09:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604927391; bh=Qig32iJy/AMBo4tI3512+wgkuiXN1kFxWXumB4pjLkQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vCUDSKeCkcBD7s+ngxH9UY7NKHBIGPtnytE9hJIsEqCRItAI+kQjkJ3KCCInQQERw Z/FJqFAMmjcAYbE4G1dLHu6nU08GXkWhWtArCpcQ6aVm4iIQ8LfsvX+YAp+vSnWXPW E1euDsgMYi3/rK9creQ9Mqot0rvfqR08j4QetsD4= 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 4.19 44/71] tracing: Fix out of bounds write in get_trace_buf Date: Mon, 9 Nov 2020 13:55:38 +0100 Message-Id: <20201109125021.968130180@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201109125019.906191744@linuxfoundation.org> References: <20201109125019.906191744@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@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 @@ -2819,7 +2819,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)