From nobody Tue Apr 7 06:21:33 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0300113AF2 for ; Sun, 15 Mar 2026 11:32:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773574337; cv=none; b=uoByK0NSYOX0+lr7mi9Ukx7FQHRvNfiaj3Rl3QKCHELMnG/9fzSaOBJI7JHC+w6QUbcPFWTs/PASoMVdBgxqPkBaZnzQQjcG8nku3JhhV5TqHIahBHCes4v0H5pPrPhymOFjwEL/+cG3N/ZGAG1i3MRkRegjyFaVIiuzjbv53rg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773574337; c=relaxed/simple; bh=mNpI4gpWeeKt8Ir8uFt0YhqSszBz49FnM8ndiT7KMok=; h=Date:From:To:Cc:Subject:Message-Id:Mime-Version:Content-Type; b=dxja2zxIyRiDRV/YNH+vc0uYzBO0avsKQolXXfQoLW8d0x8h7GTHfwPoHUvkggoe7C3fznNCTrjjU0RMObnz9DN2eh3lpO8Z5FOUwpI19yH/eRON1O8mOIdh3TFO+RdLJdFunDdxQrhU0baXTm2WXPcllcusBFw6J3eXA7W4Oxk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CRQGedOk; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="CRQGedOk" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F3A73C4CEF7; Sun, 15 Mar 2026 11:32:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773574336; bh=mNpI4gpWeeKt8Ir8uFt0YhqSszBz49FnM8ndiT7KMok=; h=Date:From:To:Cc:Subject:From; b=CRQGedOkFI8ckJju2pMDAz4kDWBBBqrDvivMkPolzCKTC+2xWy4nGRhjVjlYlxxE/ j6vSEfz8e9hph11ROVptieqccK0a+uvlNu9SBoFjHBiCA6KipMOEJdFV03Ol9eMMIV 9e6VCQUyiJCItj5aZ/R4uaB9kwqLR+juos/10+VXiFhn4sXQdNIZY0BxicVgytPeT0 2fH05fsDYLtuY1PlG+kYSTBpLzuhRhDwn74+kxJWBioio7wv/WJYMoylkALc4sQ1Wx lLbHgvo7zZsO4z3doanv7dAO9R6YI4s6im1ZojSPknZKZyKmOxuyyI31X1chYNTEZt tjiY9GttaNlCw== Date: Sun, 15 Mar 2026 20:32:12 +0900 From: Masami Hiramatsu (Google) To: Linus Torvalds Cc: Masami Hiramatsu (Google) , Steven Rostedt , Masami Hiramatsu , linux-kernel@vger.kernel.org Subject: [GIT PULL] probes: Fixes for for v7.0-rc3 Message-Id: <20260315203212.1e0b44e12adf026556e8dc9e@kernel.org> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Hi Linus, Probes fixes for v7.0-rc3 - kprobes: avoid crash when rmmod/insmod after ftrace killed This fixes a kernel crash caused by kprobes on the symbol in a module which is unloaded after ftrace_kill() is called. - kprobes: Remove unneeded warnings from __arm_kprobe_ftrace() Remove unneeded WARN messages which can be kicked if the kprobe is using ftrace and it fails to enable the ftrace. Since kprobes correctly handle such failure, we don't need to warn it. Please pull the latest probes-fixes-v7.0-rc3 tree, which can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git probes-fixes-v7.0-rc3 Tag SHA1: fc4d86187c58bac3a67170db07dce1eb61a75a17 Head SHA1: 5ef268cb7a0aac55521fd9881f1939fa94a8988e Masami Hiramatsu (Google) (2): kprobes: avoid crash when rmmod/insmod after ftrace killed kprobes: Remove unneeded warnings from __arm_kprobe_ftrace() ---- kernel/kprobes.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) --------------------------- diff --git a/kernel/kprobes.c b/kernel/kprobes.c index ab25b4aa9095..bfc89083daa9 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -1144,12 +1144,12 @@ static int __arm_kprobe_ftrace(struct kprobe *p, st= ruct ftrace_ops *ops, lockdep_assert_held(&kprobe_mutex); =20 ret =3D ftrace_set_filter_ip(ops, (unsigned long)p->addr, 0, 0); - if (WARN_ONCE(ret < 0, "Failed to arm kprobe-ftrace at %pS (error %d)\n",= p->addr, ret)) + if (ret < 0) return ret; =20 if (*cnt =3D=3D 0) { ret =3D register_ftrace_function(ops); - if (WARN(ret < 0, "Failed to register kprobe-ftrace (error %d)\n", ret))= { + if (ret < 0) { /* * At this point, sinec ops is not registered, we should be sefe from * registering empty filter. @@ -1178,6 +1178,10 @@ static int __disarm_kprobe_ftrace(struct kprobe *p, = struct ftrace_ops *ops, int ret; =20 lockdep_assert_held(&kprobe_mutex); + if (unlikely(kprobe_ftrace_disabled)) { + /* Now ftrace is disabled forever, disarm is already done. */ + return 0; + } =20 if (*cnt =3D=3D 1) { ret =3D unregister_ftrace_function(ops); --=20 Masami Hiramatsu (Google)