philosophically, which is the "correct" uaccess.h header file to
include in kernel code -- <linux/uaccess.h> or <asm/uaccess.h>? the
first explicitly includes the second so that's a safe choice but,
generally, there's been a tendency to shift toward including the
"linux" header files. opinion? there's quite a mixture under the
drivers/ directory.
rday
--
========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA
Linux Consulting, Training and Annoying Kernel Pedantry.
Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
========================================================================
On Tuesday 22 September 2009, Robert P. J. Day wrote:
> philosophically, which is the "correct" uaccess.h header file to
> include in kernel code -- <linux/uaccess.h> or <asm/uaccess.h>? the
> first explicitly includes the second so that's a safe choice but,
> generally, there's been a tendency to shift toward including the
> "linux" header files. opinion? there's quite a mixture under the
> drivers/ directory.
The preferred one is linux/uaccess.h, the same is true for many
headers that traditionally only existed in asm/.
There are some headers with explicit #warning or #error messages
when they are not included from linux/foo.h, e.g. spinlock_types.h,
bitops.h or rwsem.h.
Other headers include each other both ways, e.g. futex.h, which means
that you can use either one, though it might be good to move to
a common location if that doesn't cause too much churn.
Arnd <><
On Tue, 22 Sep 2009, Arnd Bergmann wrote:
> On Tuesday 22 September 2009, Robert P. J. Day wrote:
> > philosophically, which is the "correct" uaccess.h header file to
> > include in kernel code -- <linux/uaccess.h> or <asm/uaccess.h>?
> > the first explicitly includes the second so that's a safe choice
> > but, generally, there's been a tendency to shift toward including
> > the "linux" header files. opinion? there's quite a mixture under
> > the drivers/ directory.
>
> The preferred one is linux/uaccess.h, the same is true for many
> headers that traditionally only existed in asm/.
i know -- i've sent in a few patches of my own to make some of those
changes. i just wanted to be clear since i'm writing a short tutorial
on kernel/user space copying and wanted to make the correct
recommendation for the header file to include.
> There are some headers with explicit #warning or #error messages
> when they are not included from linux/foo.h, e.g. spinlock_types.h,
> bitops.h or rwsem.h.
yup, i've seen those, too. thanks.
rday
--
========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA
Linux Consulting, Training and Annoying Kernel Pedantry.
Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
========================================================================