mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Palmer Dabbelt <palmer@dabbelt.com>
To: arnd@arndb.de
Cc: 3chas3@gmail.com
Cc: hpa@zytor.com
Cc: mingo@redhat.com
Cc: plagnioj@jcrosoft.com
Cc: jikos@kernel.org
Cc: linux-api@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-atm-general@lists.sourceforge.net
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: tglx@linutronix.de
Cc: tomi.valkeinen@ti.com
Cc: x86@kernel.org
Subject: Re: [PATCH] Remove #ifdef CONFIG_64BIT from all asm-generic/fcntl.h
Date: Wed,  9 Sep 2015 14:08:09 -0700	[thread overview]
Message-ID: <1441832902-28993-1-git-send-email-palmer@dabbelt.com> (raw)
In-Reply-To: <2644177.lVCYzIBfPW@wuerfel>

I cut the RISC-V stuff, but I intend to reply to it later.  As you
said, it's just a different topic.

>>> However, I did see a lot of similar bugs now that you point me to it:
>>>
>>> $  grep -r \\\<CONFIG obj-tmp/usr/include/
>>> obj-tmp/usr/include/asm-generic/fcntl.h:#ifndef CONFIG_64BIT
>>> obj-tmp/usr/include/asm-generic/mman-common.h:#ifdef CONFIG_MMAP_ALLOW_UNINITIALIZED
>>> obj-tmp/usr/include/asm-generic/unistd.h:#ifdef CONFIG_MMU
>>> obj-tmp/usr/include/asm-generic/unistd.h:#endif /* CONFIG_MMU */
>>> obj-tmp/usr/include/linux/atmdev.h:#ifdef CONFIG_COMPAT
>>> obj-tmp/usr/include/linux/elfcore.h:#ifdef CONFIG_BINFMT_ELF_FDPIC
>>> obj-tmp/usr/include/linux/eventpoll.h:#ifdef CONFIG_PM_SLEEP
>>> obj-tmp/usr/include/linux/fb.h:#ifdef CONFIG_FB_BACKLIGHT
>>> obj-tmp/usr/include/linux/flat.h:#ifdef CONFIG_BINFMT_SHARED_FLAT
>>> obj-tmp/usr/include/linux/hw_breakpoint.h:#ifdef CONFIG_HAVE_MIXED_BREAKPOINTS_REGS
>>> obj-tmp/usr/include/linux/pktcdvd.h:#if defined(CONFIG_CDROM_PKTCDVD_WCACHE)
>>> obj-tmp/usr/include/linux/raw.h:#define MAX_RAW_MINORS CONFIG_MAX_RAW_DEVS
>>> obj-tmp/usr/include/asm/ptrace.h:#ifdef CONFIG_CPU_ENDIAN_BE8
>>>
>>> These all have the same problem, and we should fix them, as well as
>>> (probably) adding an automated check to scripts/headers_install.sh.
>>
>> Well, I was going to go fix them all and ran a very similar grep, but
>> I think I got a lot of false-positives.  If I understand correctly,
>> it's allowed to have CONFIG_* when guarded by __KERNEL__ in
>> user-visible headers?
>
> That is right.

It turns out there was actually a header checking script
(scripts/headers_check.pl), and it already had a check for this.  The
check was just disabled because there was "too much noise".  Rather
than putting it in headers_install I've just fixed that script.  I'm
definately lacking in perl powers, so I have no idea if what I've done
is sane.  Specifically: there's a global variable and a line over 80
characters, but since there's a bunch of other violations I figure
it's fine.

>> Now that I've written that, I realize it'd be pretty easy to just use
>> cpp to drop everything inside __KERNEL__ and then look for CONFIG_*.
>
> The lines quoted above are from the output of 'make headers_install',
> which already drops everything inside of __KERNEL__. A lot of them
> probably just need to add that #ifdef, or move the portion of the
> header file to the normal (non-uabi) file.
>
>> If you want, I can try to do that, fix what triggers the check, and
>> re-submit everything together?
>
> That would be great, yes.

OK.  I think this has turned into more of a RFC than a PATCH,
though...  I've just #ifdef'd things for now to reduce the diff size,
though I think it might be cleaner to move some of them to the
non-user headers (ep_take_care_of_epollwakeup(), USE_WCACHING,
MAX_RAW_MINORS).

I'm pretty far out of my depth here, so these should all be carefully
considered, but there's a few that scare me more ("struct
elf_prstatus", "enum by_type_idx", AT_VECTOR_SIZE_ARCH).  I think
there's only one actual bug here (MAP_UNINITIALIZED), the rest just
quiet the checking script.  Each patch has my rationale for what I
did.

Since this touches a whole lot of stuff, I've added a whole bunch of
CCs.


       reply	other threads:[~2015-09-09 21:08 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2644177.lVCYzIBfPW@wuerfel>
2015-09-09 21:08 ` Palmer Dabbelt [this message]
2015-09-09 21:08   ` [PATCH 01/13] " Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 02/13] Always expose __SYSCALL(... fork ...) Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 03/13] Hide COMPAT_ATM_ADDPARTY behind #ifdef __KERNEL__ Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 04/13] Always expose MAP_UNINITIALIZED to userspace Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 05/13] Hide some of "struct elf_prstatus" behind #ifdef __KERNEL__ Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 06/13] Hide ep_take_care_of_epollwakeup() " Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 07/13] Make FB_BACKLIGHT_{LEVELS,MAX} always visible Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 08/13] Hide MAX_SHARED_LIBS behind #ifdef __KERNEL__ Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 09/13] Hide bp_type_idx " Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 10/13] Hide USE_WCACHING " Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 11/13] Hide MAX_RAW_MINORS " Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 12/13] Hide AT_VECTOR_SIZE_ARCH " Palmer Dabbelt
2015-09-09 21:08   ` [PATCH 13/13] Re-enable and clean up "check_config()" in headers_check.pl Palmer Dabbelt
2015-09-10 11:11   ` [PATCH 09/13] Hide bp_type_idx behind #ifdef __KERNEL__ David Howells
2015-09-10 11:12   ` [PATCH 10/13] Hide USE_WCACHING " David Howells
2015-09-10 11:13   ` [PATCH 11/13] Hide MAX_RAW_MINORS " David Howells
2015-09-10 11:14   ` [PATCH 12/13] Hide AT_VECTOR_SIZE_ARCH " David Howells
2015-09-14 22:50   ` [PATCH v3] Remove #ifdef CONFIG_* from all userspace headers Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 01/13] Remove #ifdef CONFIG_64BIT from all asm-generic/fcntl.h Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 02/13] Use sys_ni.c instead of #ifdef to disable fork on CONFIG_NOMMU Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 03/13] Move COMPAT_ATM_ADDPARTY to net/atm/svc.c Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 04/13] Always expose MAP_UNINITIALIZED to userspace Palmer Dabbelt
2015-09-15  0:23       ` Kirill A. Shutemov
2015-09-15  0:52         ` Palmer Dabbelt
2015-09-15  5:19         ` Josh Triplett
2015-09-15  9:42           ` Kirill A. Shutemov
2015-09-15 14:07             ` Josh Triplett
2015-09-17 10:13             ` David Howells
2015-09-14 22:50     ` [PATCH 05/13] Split FDPIC "struct elf_prstatus" to "struct elf_fdpic_prstatus" Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 06/13] Move ep_take_care_of_epollwakeup() to fs/eventpoll.c Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 07/13] Make FB_BACKLIGHT_{LEVELS,MAX} always visible Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 08/13] Move MAX_SHARED_LIBS to fs/binfmt_flat.c Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 09/13] Move bp_type_idx to kernel/event/hw_breakpoint.c Palmer Dabbelt
2015-09-15  8:06       ` Peter Zijlstra
2015-09-15 18:40         ` Palmer Dabbelt
2015-09-15 19:39           ` Peter Zijlstra
2015-09-17  3:56             ` Palmer Dabbelt
2015-09-15 21:15         ` Arnd Bergmann
2015-09-24 12:15           ` Frederic Weisbecker
2015-09-17 10:28         ` David Howells
2015-09-14 22:50     ` [PATCH 10/13] Move USE_WCACHING to drivers/block/pktcdvd.c Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 11/13] Always define MAX_RAW_MINORS as 65535 in userspace Palmer Dabbelt
2015-09-15 20:42       ` H. Peter Anvin
2015-09-17  3:08         ` Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 12/13] Remove AT_VECTOR_SIZE_ARCH on x86 Palmer Dabbelt
2015-09-14 22:50     ` [PATCH 13/13] Re-enable and clean up "check_config()" in headers_check.pl Palmer Dabbelt
2015-09-17  9:57     ` [PATCH 03/13] Move COMPAT_ATM_ADDPARTY to net/atm/svc.c David Howells
2015-09-17 20:53       ` Palmer Dabbelt
2015-09-17 10:17     ` [PATCH 05/13] Split FDPIC "struct elf_prstatus" to "struct elf_fdpic_prstatus" David Howells
2015-11-03 19:46     ` [PATCH v4] Remove #ifdef CONFIG_* from all userspace headers Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 01/13] Remove #ifdef CONFIG_64BIT from all asm-generic/fcntl.h Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 02/13] Use sys_ni.c instead of #ifdef to disable fork on CONFIG_NOMMU Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 03/13] Move COMPAT_ATM_ADDPARTY to net/atm/svc.c Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 04/13] Always expose MAP_UNINITIALIZED to userspace Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 05/13] Split FDPIC "struct elf_prstatus" to "struct elf_fdpic_prstatus" Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 06/13] Move ep_take_care_of_epollwakeup() to fs/eventpoll.c Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 07/13] Make FB_BACKLIGHT_{LEVELS,MAX} always visible Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 08/13] Move MAX_SHARED_LIBS to fs/binfmt_flat.c Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 09/13] Move bp_type_idx to kernel/event/hw_breakpoint.c Palmer Dabbelt
2015-11-03 21:28         ` kbuild test robot
2015-11-03 21:29         ` kbuild test robot
2015-11-04 11:41         ` Peter Zijlstra
2015-11-04 12:21           ` Peter Zijlstra
2015-11-07  6:44             ` Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 10/13] Move USE_WCACHING to drivers/block/pktcdvd.c Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 11/13] Always define MAX_RAW_MINORS as 2**20 in userspace Palmer Dabbelt
2015-11-03 20:11         ` kbuild test robot
2015-11-03 19:46       ` [PATCH 12/13] Remove AT_VECTOR_SIZE_ARCH on x86 Palmer Dabbelt
2015-11-03 19:46       ` [PATCH 13/13] Re-enable and clean up "check_config()" in headers_check.pl Palmer Dabbelt
2015-11-03 20:25         ` kbuild test robot
2015-11-03 20:26         ` kbuild test robot
2015-11-10  1:30       ` [PATCH v5] Remove #ifdef CONFIG_* from all userspace headers Palmer Dabbelt
2015-11-10  1:30         ` [PATCH 01/14] Remove #ifdef CONFIG_64BIT from all asm-generic/fcntl.h Palmer Dabbelt
2015-11-10  1:30         ` [PATCH 02/14] Use sys_ni.c instead of #ifdef to disable fork on CONFIG_NOMMU Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 03/14] Move COMPAT_ATM_ADDPARTY to net/atm/svc.c Palmer Dabbelt
2023-02-10 14:55           ` Thomas Huth
2023-02-10 15:10             ` Arnd Bergmann
2015-11-10  1:31         ` [PATCH 04/14] Always expose MAP_UNINITIALIZED to userspace Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 05/14] Split FDPIC "struct elf_prstatus" to "struct elf_fdpic_prstatus" Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 06/14] Move ep_take_care_of_epollwakeup() to fs/eventpoll.c Palmer Dabbelt
2023-02-10 14:45           ` Thomas Huth
2015-11-10  1:31         ` [PATCH 07/14] Make FB_BACKLIGHT_{LEVELS,MAX} always visible Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 08/14] Move MAX_SHARED_LIBS to fs/binfmt_flat.c Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 09/14] Move bp_type_idx to include/linux/hw_breakpoint.h Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 10/14] Move USE_WCACHING to drivers/block/pktcdvd.c Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 11/14] Always define MAX_RAW_MINORS as 2**20 in userspace Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 12/14] Remove AT_VECTOR_SIZE_ARCH on x86 Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 13/14] Hide CONFIG_PHY_RAM_BASE_ADDRESS from userspace Palmer Dabbelt
2015-11-10  1:31         ` [PATCH 14/14] Re-enable and clean up "check_config()" in headers_check.pl Palmer Dabbelt
2015-09-10 11:15 ` [PATCH] Remove #ifdef CONFIG_64BIT from all asm-generic/fcntl.h David Howells
2015-09-10 11:18 ` David Howells
2015-09-14 22:50   ` Palmer Dabbelt
2015-09-02  0:10 Palmer Dabbelt
2015-09-07 13:16 ` Arnd Bergmann
2015-09-07 13:35   ` Palmer Dabbelt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1441832902-28993-1-git-send-email-palmer@dabbelt.com \
    --to=palmer@dabbelt.com \
    --cc=3chas3@gmail.com \
    --cc=arnd@arndb.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®