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]
Date:	Thu, 26 Jul 2012 03:01:12 +0100
From:	Ben Hutchings <ben@...adent.org.uk>
To:	Josh Boyer <jwboyer@...hat.com>
Cc:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Andrew Morton <akpm@...ux-foundation.org>, law@...hat.com,
	stable@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] posix_types.h: Cleanup stale __NFDBITS and related
 definitions

On Wed, 2012-07-25 at 21:27 -0400, Josh Boyer wrote:
> On Thu, Jul 26, 2012 at 12:26:36AM +0100, Ben Hutchings wrote:
> > On Wed, 2012-07-25 at 10:40 -0400, Josh Boyer wrote:
> > > Recently, glibc made a change to suppress sign-conversion warnings in FD_SET
> > > (glibc commit ceb9e56b3d1).  This uncovered an issue with the kernel's
> > > definition of __NFDBITS if applications #include <linux/types.h> after
> > > including <sys/select.h>.  A build failure would be seen when passing the
> > > -Werror=sign-compare and -D_FORTIFY_SOURCE=2 flags to gcc.
> > > 
> > > It was suggested that the kernel should either match the glibc definition of
> > > __NFDBITS or remove that entirely.  The current in-kernel uses of __NFDBITS
> > > can be replaced with BITS_PER_LONG, and there are no uses of the related
> > > __FDELT and __FDMASK defines.  Given that, we'll continue the cleanup that
> > > was started with commit 8b3d1cda4f5f ("posix_types: Remove fd_set macros")
> > > and drop the remaining unused macros.
> > > 
> > > Additionally, linux/time.h has similar macros defined that expand to nothing
> > > so we'll remove those at the same time.
> > > 
> > > Reported-by: Jeff Law <law@...hat.com>
> > > Suggested-by: Linus Torvalds <torvalds@...ux-foundation.org>
> > > CC: <stable@...r.kernel.org>
> > 
> > # v3.4+
> > 
> > (as 8b3d1cda4f5f went into 3.4)
> >
> 
> Indeed.  However, I believe Linus pointed out that even before
> 8b3d1cda4f5f the macros that were removed weren't actually used.
> It's likely safe to go back further than just 3.4.
> 
> I'll verify again in the morning and include the furthest back we could
> remove these.  For now, let's go with what you suggest to be safe.

Yes, on reflection, this is mostly independent of commit 8b3d1cda4f5f.

The problem is that userland might accidentally be depending on getting
the definitions of NFDBITS and FD_SETSIZE from <linux/time.h>.  But,
having now read Linus's history of the rotting of these particular bits
<http://article.gmane.org/gmane.linux.kernel/1332560>, I agree this is
very unlikely.  So, I withdraw my request to restrict the target stable
versions.

Ben.

-- 
Ben Hutchings
Humans are not rational beings; they are rationalising beings.

Download attachment "signature.asc" of type "application/pgp-signature" (829 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ