Received: by 2002:a05:6602:18e:0:0:0:0 with SMTP id m14csp5560086ioo; Wed, 1 Jun 2022 07:59:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyC3zLOjgcVyE8vp25A9TMZcgtjz0MGerWURg+wNbDIFpSKq3A9205gf58pgam0q1rATvne X-Received: by 2002:a05:6402:43c4:b0:41d:9403:8dca with SMTP id p4-20020a05640243c400b0041d94038dcamr115511edc.184.1654095574918; Wed, 01 Jun 2022 07:59:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654095574; cv=none; d=google.com; s=arc-20160816; b=Uz08XTzQd2hmPprxAX3zAjml95xpfynuiQuG0wU6d46sWO02pW7L3Mhohqgbskd2SZ p3ddXgyWzzIo1IgJYFrLZWgsx1YsCWnMFdBeAtoFRd1xjFnTWjFFt1vei7lNnxLRAzeR YYUWVr2FGhhy2JRQM8ElrK15PUp+4UAyfvxu7pgMxdeeDdUSy0Rf0398/V/gt6b8qAIq UGTq0tKtHAZqRhdYWpq5/BcgT6ydydWBq0F2J3KiqhsiVUuTUULlKc1tvxwQN8IG5HKz Ucq7WJ7k5tJ6xOyeX+1oLh+gDJZGCMI3XAMptkB9/ISc2jCS2hmhZV8YiAZ1+2Zr5bAI yScQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=aaSMdUg8v8Rv6N/mbF/peLXiGtd7K7luEam7SuAHkko=; b=rGLwO7jFFngXh/ExubOC42eTNLkxsIFJInlQBxKFt+AlLKVao5axwA0AIoQgxg1VeM R4786ugq6ovKw2uTNRo75FowiRNcOZH7n1XDkfrXvvBfZsEYwY55LVcdZcVOGPFD/4AU 73wwbzTUmauJBWCfvqHHMeA+GInjolbikkuBjvf4JpHZ/bWqkI7OS5+giKK5+yRoINdB E7VOQ7TZEm4QBrv7b7TNJh5IeZt+/PY43dlZjr8M3sRikRcmpuLoKoTzipQ0lnLZQ+lZ sRxi2FS124uyLXr2ieFWJ900mgQOLQTk9cHfQb0us7jXgziesrQ3QRdlFicFb5Qxy2/K /Oiw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n13-20020a170906118d00b006febfa8bf0asi1454901eja.509.2022.06.01.07.59.07; Wed, 01 Jun 2022 07:59:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242800AbiE3Tdo (ORCPT + 99 others); Mon, 30 May 2022 15:33:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60922 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233186AbiE3Tdn (ORCPT ); Mon, 30 May 2022 15:33:43 -0400 Received: from www62.your-server.de (www62.your-server.de [213.133.104.62]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 698FF3CFFA; Mon, 30 May 2022 12:33:41 -0700 (PDT) Received: from sslproxy02.your-server.de ([78.47.166.47]) by www62.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from ) id 1nvl8r-0001V6-CF; Mon, 30 May 2022 21:33:29 +0200 Received: from [85.1.206.226] (helo=linux-2.home) by sslproxy02.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nvl8q-000VcP-QA; Mon, 30 May 2022 21:33:29 +0200 Subject: Re: [PATCH] tracing/kprobes: Check whether get_kretprobe() returns NULL in kretprobe_dispatcher() To: "Masami Hiramatsu (Google)" , Steven Rostedt Cc: Peter Zijlstra , Ingo Molnar , Yonghong Song , bpf , Kernel Team , linux-kernel@vger.kernel.org, stable@vger.kernel.org References: <165366693881.797669.16926184644089588731.stgit@devnote2> From: Daniel Borkmann Message-ID: <0204f480-cdb0-e49f-9034-602eced02966@iogearbox.net> Date: Mon, 30 May 2022 21:33:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <165366693881.797669.16926184644089588731.stgit@devnote2> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Authenticated-Sender: daniel@iogearbox.net X-Virus-Scanned: Clear (ClamAV 0.103.6/26557/Mon May 30 10:05:44 2022) X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 5/27/22 5:55 PM, Masami Hiramatsu (Google) wrote: > From: Masami Hiramatsu (Google) > > There is a small chance that get_kretprobe(ri) returns NULL in > kretprobe_dispatcher() when another CPU unregisters the kretprobe > right after __kretprobe_trampoline_handler(). > > To avoid this issue, kretprobe_dispatcher() checks the get_kretprobe() > return value again. And if it is NULL, it returns soon because that > kretprobe is under unregistering process. > > This issue has been introduced when the kretprobe is decoupled > from the struct kretprobe_instance by commit d741bf41d7c7 > ("kprobes: Remove kretprobe hash"). Before that commit, the > struct kretprob_instance::rp directly points the kretprobe > and it is never be NULL. > > Reported-by: Yonghong Song > Fixes: d741bf41d7c7 ("kprobes: Remove kretprobe hash") > Cc: stable@vger.kernel.org > Signed-off-by: Masami Hiramatsu (Google) Steven, I presume you'll pick this fix up? Thanks, Daniel