diff mbox series

[perf/core] uprobes: fix WARN() inside hprobe_consume()

Message ID 20241030160208.2115179-1-andrii@kernel.org (mailing list archive)
State New
Headers show
Series [perf/core] uprobes: fix WARN() inside hprobe_consume() | expand

Commit Message

Andrii Nakryiko Oct. 30, 2024, 4:02 p.m. UTC
Use proper `*hstate` to print unexpected hprobe state. And drop unused
local `state` variable.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202410302020.1jHBLfss-lkp@intel.com/
Fixes: 72a27524a493 ("uprobes: SRCU-protect uretprobe lifetime (with timeout)")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
---
 kernel/events/uprobes.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Peter Zijlstra Oct. 30, 2024, 8:12 p.m. UTC | #1
On Wed, Oct 30, 2024 at 09:02:08AM -0700, Andrii Nakryiko wrote:
> Use proper `*hstate` to print unexpected hprobe state. And drop unused
> local `state` variable.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
> Closes: https://lore.kernel.org/r/202410302020.1jHBLfss-lkp@intel.com/
> Fixes: 72a27524a493 ("uprobes: SRCU-protect uretprobe lifetime (with timeout)")
> Signed-off-by: Andrii Nakryiko <andrii@kernel.org>

Since I've not yet pushed it out to tip, I've folded it into the original patch.
diff mbox series

Patch

diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index 998a9726b80f..f2beb4b3f5c5 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -704,8 +704,6 @@  static void hprobe_init_stable(struct hprobe *hprobe, struct uprobe *uprobe)
  */
 static inline struct uprobe *hprobe_consume(struct hprobe *hprobe, enum hprobe_state *hstate)
 {
-	enum hprobe_state state;
-
 	*hstate = xchg(&hprobe->state, HPROBE_CONSUMED);
 	switch (*hstate) {
 	case HPROBE_LEASED:
@@ -715,7 +713,7 @@  static inline struct uprobe *hprobe_consume(struct hprobe *hprobe, enum hprobe_s
 	case HPROBE_CONSUMED:	/* uprobe was finalized already, do nothing */
 		return NULL;
 	default:
-		WARN(1, "hprobe invalid state %d", state);
+		WARN(1, "hprobe invalid state %d", *hstate);
 		return NULL;
 	}
 }