Re: [PATCH 1/6] arch/ia64/kernel: remove null pointer dereference

From: Julia Lawall
Date: Mon May 12 2008 - 10:38:07 EST


On Mon, 12 May 2008, Simon Holm Thøgersen wrote:

> man, 12 05 2008 kl. 15:37 +0200, skrev Julia Lawall:
> > From: Julia Lawall <julia@xxxxxxx>
> >
> > If data is NULL, it is not possible to access data->ret.
> >
> > The problem was detected using the following semantic match
> > (http://www.emn.fr/x-info/coccinelle/)
> >
> > // <smpl>
> > @@
> > expression E, E1;
> > identifier f;
> > statement S1,S2,S3;
> > @@
> >
> > * if (E == NULL)
> > {
> > ... when != if (E == NULL) S1 else S2
> > when != E = E1
> > * E->f
> > ... when any
> > return ...;
> > }
> > else S3
> > // </smpl>
> >
> > Signed-off-by: Julia Lawall <julia@xxxxxxx>
> >
> > ---
> >
> > diff -u -p a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c
> > --- a/arch/ia64/kernel/palinfo.c 2008-05-09 16:46:57.000000000 +0200
> > +++ b/arch/ia64/kernel/palinfo.c 2008-05-12 08:43:35.000000000 +0200
> > @@ -902,7 +902,6 @@ palinfo_smp_call(void *info)
> > palinfo_smp_data_t *data = (palinfo_smp_data_t *)info;
> > if (data == NULL) {
> > printk(KERN_ERR "palinfo: data pointer is NULL\n");
> > - data->ret = 0; /* no output */
> > return;
> > }
> > /* does this actual call */
> > --
>
> The whole if block should just be deleted, as info is never NULL. There
> is only palinfo_handle_smp as (indirect) user of palinfo_smp_call (by
> way of smp_call_function_single) and surely palinfo_smp_call never pass
> NULL.

OK. Will you fix it?

julia