Re: [PATCH 1/1] uapi: move constants from <linux/kernel.h> to <linux/const.h>

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 01, 2021 at 09:06:22PM +0100, Petr Vorel wrote:
> Hi,
> 
> > and include <linux/const.h> in UAPI headers instead of <linux/kernel.h>.
> 
> > commit a85cbe6159ffc973e5702f70a3bd5185f8f3c38d upstream.
> 
> > The reason is to avoid indirect <linux/sysinfo.h> include when using
> > some network headers: <linux/netlink.h> or others -> <linux/kernel.h>
> > -> <linux/sysinfo.h>.
> 
> > This indirect include causes on MUSL redefinition of struct sysinfo when
> > included both <sys/sysinfo.h> and some of UAPI headers:
> 
> >     In file included from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/kernel.h:5,
> >                      from x86_64-buildroot-linux-musl/sysroot/usr/include/linux/netlink.h:5,
> >                      from ../include/tst_netlink.h:14,
> >                      from tst_crypto.c:13:
> >     x86_64-buildroot-linux-musl/sysroot/usr/include/linux/sysinfo.h:8:8: error: redefinition of `struct sysinfo'
> >      struct sysinfo {
> >             ^~~~~~~
> >     In file included from ../include/tst_safe_macros.h:15,
> >                      from ../include/tst_test.h:93,
> >                      from tst_crypto.c:11:
> >     x86_64-buildroot-linux-musl/sysroot/usr/include/sys/sysinfo.h:10:8: note: originally defined here
> 
> > Link: https://lkml.kernel.org/r/20201015190013.8901-1-petr.vorel@xxxxxxxxx
> > Signed-off-by: Petr Vorel <petr.vorel@xxxxxxxxx>
> > Suggested-by: Rich Felker <dalias@xxxxxxxxxx>
> > Acked-by: Rich Felker <dalias@xxxxxxxx>
> > Cc: Peter Korsgaard <peter@xxxxxxxxxxxxx>
> > Cc: Baruch Siach <baruch@xxxxxxxxxx>
> > Cc: Florian Weimer <fweimer@xxxxxxxxxx>
> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > ---
> > Hi,
> 
> > could this fix be backported to stable releases?
> > Maybe safer to wait till v5.11 release.
> 
> > Adjusted for stable/linux-4.9.y.
> I'm sorry, this one is for stable/linux-4.4.y

No worries, queued up everywhere now, thanks!

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux