From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A01C2C54EBF for ; Wed, 4 Jan 2023 16:20:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230383AbjADQUR (ORCPT ); Wed, 4 Jan 2023 11:20:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239994AbjADQUC (ORCPT ); Wed, 4 Jan 2023 11:20:02 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 55C773AAA2 for ; Wed, 4 Jan 2023 08:20:01 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 13EA4B81714 for ; Wed, 4 Jan 2023 16:20:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 760E9C433D2; Wed, 4 Jan 2023 16:19:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1672849198; bh=6jpokDVvcQWx/S1bfOQ9dYOcbxmdbiv1i0vC/4/NjDQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ENHg749rL3ZCy3U1aROMRVy3iSdsG0jKCh+XRK/wFsXgv0WSTvgJfedRCnw/81G7w yWStTKXh9+9XYMIb3TxZ3lwrkxX/kof+HVVAL2NJza0prkxZwnWpvc6vAJ/ICgdun5 pSW9Tg/fJPpFAS8/60mXTS19/kvoB2AvUW0LHRTs= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Rafael Mendonca , "Steven Rostedt (Google)" , "Masami Hiramatsu (Google)" Subject: [PATCH 6.0 067/177] tracing: Fix race where eprobes can be called before the event Date: Wed, 4 Jan 2023 17:05:58 +0100 Message-Id: <20230104160509.686116393@linuxfoundation.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230104160507.635888536@linuxfoundation.org> References: <20230104160507.635888536@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Steven Rostedt (Google) commit d5f30a7da8ea8e6450250275cec5670cee3c4264 upstream. The flag that tells the event to call its triggers after reading the event is set for eprobes after the eprobe is enabled. This leads to a race where the eprobe may be triggered at the beginning of the event where the record information is NULL. The eprobe then dereferences the NULL record causing a NULL kernel pointer bug. Test for a NULL record to keep this from happening. Link: https://lore.kernel.org/linux-trace-kernel/20221116192552.1066630-1-rafaelmendsr@gmail.com/ Link: https://lore.kernel.org/all/20221117214249.2addbe10@gandalf.local.home/ Cc: stable@vger.kernel.org Fixes: 7491e2c442781 ("tracing: Add a probe that attaches to trace events") Reported-by: Rafael Mendonca Signed-off-by: Steven Rostedt (Google) Acked-by: Masami Hiramatsu (Google) Signed-off-by: Masami Hiramatsu (Google) Signed-off-by: Greg Kroah-Hartman --- kernel/trace/trace_eprobe.c | 3 +++ 1 file changed, 3 insertions(+) --- a/kernel/trace/trace_eprobe.c +++ b/kernel/trace/trace_eprobe.c @@ -563,6 +563,9 @@ static void eprobe_trigger_func(struct e if (unlikely(!rec)) return; + if (unlikely(!rec)) + return; + __eprobe_trace_func(edata, rec); }