lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 206/879] linux/types.h: reinstate "__bitwise__" macro for user space use
    Date
    From: Linus Torvalds <torvalds@linux-foundation.org>

    [ Upstream commit caa28984163cb63ea0be4cb8dbf05defdc7303f9 ]

    Commit c724c866bb70 ("linux/types.h: remove unnecessary __bitwise__")
    was right that there are no users of __bitwise__ in the kernel, but it
    turns out there are user space users of it that do expect it.

    It is, after all, in the uapi directory, so user space usage is to be
    expected.

    Instead of reverting the commit completely, let's just clarify the
    situation so that it doesn't happen again, and have some in-code
    explanations for why that "__bitwise__" still exists.

    Reported-by: Jiri Slaby <jirislaby@kernel.org>
    Cc: Bjorn Helgaas <helgaas@kernel.org>
    Link: https://lore.kernel.org/all/b5c0a68d-8387-4909-beea-f70ab9e6e3d5@kernel.org/
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    include/uapi/linux/types.h | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/include/uapi/linux/types.h b/include/uapi/linux/types.h
    index c4dc597f3dcf..308433be33c2 100644
    --- a/include/uapi/linux/types.h
    +++ b/include/uapi/linux/types.h
    @@ -26,6 +26,9 @@
    #define __bitwise
    #endif

    +/* The kernel doesn't use this legacy form, but user space does */
    +#define __bitwise__ __bitwise
    +
    typedef __u16 __bitwise __le16;
    typedef __u16 __bitwise __be16;
    typedef __u32 __bitwise __le32;
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-08 00:34    [W:2.108 / U:1.992 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site