On Sat, Mar 19, 2022 at 09:51:59AM -0700, trix@xxxxxxxxxx wrote: > From: Tom Rix <trix@xxxxxxxxxx> > > Clang static analysis reports this issue > livepatch-shadow-fix1.c:113:2: warning: Use of > memory after it is freed > pr_info("%s: dummy @ %p, prevented leak @ %p\n", > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > The pointer is freed in the previous statement. > Reorder the pr_info to report before the free. > > Signed-off-by: Tom Rix <trix@xxxxxxxxxx> > --- > samples/livepatch/livepatch-shadow-fix1.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/samples/livepatch/livepatch-shadow-fix1.c b/samples/livepatch/livepatch-shadow-fix1.c > index 918ce17b43fda..6701641bf12d4 100644 > --- a/samples/livepatch/livepatch-shadow-fix1.c > +++ b/samples/livepatch/livepatch-shadow-fix1.c > @@ -109,9 +109,9 @@ static void livepatch_fix1_dummy_leak_dtor(void *obj, void *shadow_data) > void *d = obj; > int **shadow_leak = shadow_data; > > - kfree(*shadow_leak); > pr_info("%s: dummy @ %p, prevented leak @ %p\n", > __func__, d, *shadow_leak); > + kfree(*shadow_leak); > } > > static void livepatch_fix1_dummy_free(struct dummy *d) > -- > 2.26.3 > The fix looks good, though it looks like there is also a similar use-after-free in livepatch_fix2_dummy_leak_dtor() in livepatch-shadow-fix2.c. Could you please also fix that as part of this patch? Thanks, David