On Wed, 23 Jan 2019, Nicholas Mc Guire wrote: > kzalloc(sizeof(int)) is called for an int object but then > passed into klp_shadow_alloc() using the size of the pointer. > This probably is not a problem as it will fit - but it should > be cleaned (after all this is reference code). > > Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> > --- > > Reported by coccicheck > samples/livepatch//livepatch-shadow-fix1.c:97:30-36: ERROR: application of sizeof to pointer > > Patch was compile tested with: x86_64_defconfig + FTRACE=y, > FUNCTION_TRACER=y, SAMPLES=y, LIVEPATCH=y SAMPLE_LIVEPATCH=m > > Patch is against 5.0-rc3 (localversion-next is next-20190123) > > 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 a5a5cac..643ffd5 100644 > --- a/samples/livepatch/livepatch-shadow-fix1.c > +++ b/samples/livepatch/livepatch-shadow-fix1.c > @@ -94,7 +94,7 @@ struct dummy *livepatch_fix1_dummy_alloc(void) > return NULL; > } > > - klp_shadow_alloc(d, SV_LEAK, sizeof(leak), GFP_KERNEL, > + klp_shadow_alloc(d, SV_LEAK, sizeof(*leak), GFP_KERNEL, > shadow_leak_ctor, leak); I think it is actually fine. We allocate something sizeof(int), but it is not important much. The leaked pointer is important. We attach the pointer as a shadow variable, so we can free it later. Thus, the size of the pointer is important. Moreover, you're introducing this with the change: samples/livepatch/livepatch-shadow-fix1.c:97:38: warning: expression using sizeof(void) Miroslav