Re: spurious sparse warnings from linux/aio.h (was: 2.6.20-rc4-mm1)

From: Suparna Bhattacharya
Date: Fri Jan 12 2007 - 08:29:16 EST


On Fri, Jan 12, 2007 at 12:55:18PM +0100, Tilman Schmidt wrote:
> Andrew Morton schrieb:
> > - Merged the "filesystem AIO patches".
>
> This construct:
>
> > --- linux-2.6.20-rc4/include/linux/aio.h 2007-01-06 23:34:08.000000000 -0800
> > +++ devel/include/linux/aio.h 2007-01-11 21:36:16.000000000 -0800
>
> > @@ -237,7 +243,8 @@ do { \
> > } \
> > } while (0)
> >
> > -#define io_wait_to_kiocb(wait) container_of(wait, struct kiocb, ki_wait)
> > +#define io_wait_to_kiocb(io_wait) container_of(container_of(io_wait, \
> > + struct wait_bit_queue, wait), struct kiocb, ki_wait)
> >
> > #include <linux/aio_abi.h>
> >
>
> causes a sparse warning:
>
> > include/linux/sched.h:1313:29: warning: symbol '__mptr' shadows an earlier one
> > include/linux/sched.h:1313:29: originally declared here
>
> for every source file referencing <linux/sched.h>.
> Could that be avoided please?

So ... the nested container_of() is a problem ? I guess changing
io_wait_to_kiocb() to be an inline function instead of a macro could help ?

Regards
Suparna

>
> Thanks
> Tilman
>
> --
> Tilman Schmidt E-Mail: tilman@xxxxxxx
> Bonn, Germany
> Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
> Ungeöffnet mindestens haltbar bis: (siehe Rückseite)
>



--
Suparna Bhattacharya (suparna@xxxxxxxxxx)
Linux Technology Center
IBM Software Lab, India

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/