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 |
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 --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; } }
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(-)