diff options
author | Josh Boyer <jwboyer@redhat.com> | 2012-07-25 10:40:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-26 16:36:43 -0400 |
commit | 8ded2bbc1845e19c771eb55209aab166ef011243 (patch) | |
tree | 9ab400cdd407a9426fdfcc3432d7c0e19a0607ed /kernel/exit.c | |
parent | 4cb38750d49010ae72e718d46605ac9ba5a851b4 (diff) |
posix_types.h: Cleanup stale __NFDBITS and related definitions
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@redhat.com>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
CC: <stable@vger.kernel.org>
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
[ .. and fix up whitespace as per akpm ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/exit.c')
-rw-r--r-- | kernel/exit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index d17f6c4ddfa9..f65345f9e5bb 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -483,7 +483,7 @@ static void close_files(struct files_struct * files) | |||
483 | rcu_read_unlock(); | 483 | rcu_read_unlock(); |
484 | for (;;) { | 484 | for (;;) { |
485 | unsigned long set; | 485 | unsigned long set; |
486 | i = j * __NFDBITS; | 486 | i = j * BITS_PER_LONG; |
487 | if (i >= fdt->max_fds) | 487 | if (i >= fdt->max_fds) |
488 | break; | 488 | break; |
489 | set = fdt->open_fds[j++]; | 489 | set = fdt->open_fds[j++]; |