Re: [PATCH] posix_types.h: Cleanup stale __NFDBITS and relateddefinitions

From: Josh Boyer
Date: Wed Jul 25 2012 - 21:27:36 EST


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@xxxxxxxxxx>
> > Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > CC: <stable@xxxxxxxxxxxxxxx>
>
> # 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.

josh
--
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/