lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160329113044.9d533ba55e0be2f9b3288bd6@linux-foundation.org>
Date:	Tue, 29 Mar 2016 11:30:44 -0700
From:	Andrew Morton <akpm@...ux-foundation.org>
To:	Josh Boyer <jwboyer@...oraproject.org>
Cc:	Denys Vlasenko <dvlasenk@...hat.com>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Thomas Graf <tgraf@...g.ch>,
	Peter Zijlstra <peterz@...radead.org>,
	David Rientjes <rientjes@...gle.com>,
	Arnd Bergmann <arnd@...db.de>, Ingo Molnar <mingo@...nel.org>,
	"Linux-Kernel@...r. Kernel. Org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] compiler.h: Provide __always_inline to userspace
 headers too

On Tue, 29 Mar 2016 14:23:57 -0400 Josh Boyer <jwboyer@...oraproject.org> wrote:

> On Tue, Mar 29, 2016 at 2:14 PM, Denys Vlasenko <dvlasenk@...hat.com> wrote:
> > Recent change to uapi/linux/swab.h needs this.
> >
> > Signed-off-by: Denys Vlasenko <dvlasenk@...hat.com>
> > CC: Josh Boyer <jwboyer@...oraproject.org>
> > CC: Thomas Graf <tgraf@...g.ch>
> > CC: Peter Zijlstra <peterz@...radead.org>
> > CC: David Rientjes <rientjes@...gle.com>
> > CC: Arnd Bergmann <arnd@...db.de>
> > CC: Ingo Molnar <mingo@...nel.org>
> > CC: Andrew Morton <akpm@...ux-foundation.org>
> > CC: Linus Torvalds <torvalds@...ux-foundation.org>
> > CC: linux-kernel@...r.kernel.org
> > ---
> >  include/linux/compiler.h | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/linux/compiler.h b/include/linux/compiler.h
> > index b5ff988..2cb6ba4 100644
> > --- a/include/linux/compiler.h
> > +++ b/include/linux/compiler.h
> > @@ -397,12 +397,12 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
> >   */
> >  #define noinline_for_stack noinline
> >
> > +#endif /* __KERNEL__ */
> > +
> >  #ifndef __always_inline
> >  #define __always_inline inline
> >  #endif
> >
> > -#endif /* __KERNEL__ */
> > -
> 
> Did you test this by installing the headers with 'make
> headers-install' and trying to build something with the newly
> installed headers?  As I said in my other email, I don't see how
> changes to this particular file are reflected in anything that gets
> installed in /usr/include by the uapi mechanism.

include/uapi/linux/swab.h already had __attribute_const__ and that
worked OK so presumably treating __always_inline in the same fashion
will also work.  But yes, testing please.



Also, more care with the changelogs please.  "Recent change" is
uselessly vague, and Josh kindly reported the regression, so...


From: Denys Vlasenko <dvlasenk@...hat.com>
Subject: compiler.h: provide __always_inline to userspace headers too

Recent change to uapi/linux/swab.h needs this.

In file included from test.c:2:0:
/usr/include/linux/swab.h:154:8: error: unknown type name `__always_inline'
 static __always_inline __u16 __swab16p(const __u16 *p)
        ^~~~~~~~~~~~~~~

Fixes: bc27fb68aaad4 ("include/uapi/linux/byteorder, swab: force inlining of some byteswap operations")
Signed-off-by: Denys Vlasenko <dvlasenk@...hat.com>
Reported-by: Josh Boyer <jwboyer@...oraproject.org>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
---

 include/linux/compiler.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff -puN include/linux/compiler.h~compilerh-provide-__always_inline-to-userspace-headers-too include/linux/compiler.h
--- a/include/linux/compiler.h~compilerh-provide-__always_inline-to-userspace-headers-too
+++ a/include/linux/compiler.h
@@ -397,12 +397,12 @@ static __always_inline void __write_once
  */
 #define noinline_for_stack noinline
 
+#endif /* __KERNEL__ */
+
 #ifndef __always_inline
 #define __always_inline inline
 #endif
 
-#endif /* __KERNEL__ */
-
 /*
  * From the GCC manual:
  *
_

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ