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:   Mon, 7 Aug 2017 18:01:43 +0200
From:   Arnd Bergmann <arnd@...db.de>
To:     "Darrick J. Wong" <darrick.wong@...cle.com>
Cc:     Mikko Rapeli <mikko.rapeli@....fi>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux API <linux-api@...r.kernel.org>,
        "Theodore Ts'o" <tytso@....edu>
Subject: Re: [PATCH v06 33/36] uapi linux/fsmap.h: use __kernel_size_t instead
 of size_t

On Mon, Aug 7, 2017 at 5:54 PM, Darrick J. Wong <darrick.wong@...cle.com> wrote:
> On Sun, Aug 06, 2017 at 06:44:24PM +0200, Mikko Rapeli wrote:
>> Fixes user space compilation error:
>>
>> linux/fsmap.h:71:19: error: unknown type name ‘size_t’
>>  static __inline__ size_t
>>                    ^~~~~~
>>
>> Signed-off-by: Mikko Rapeli <mikko.rapeli@....fi>
>> Cc: Darrick J. Wong <darrick.wong@...cle.com>
>> ---
>>  include/uapi/linux/fsmap.h | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/uapi/linux/fsmap.h b/include/uapi/linux/fsmap.h
>> index 7e8e5f0bd6d2..99600bbed6b6 100644
>> --- a/include/uapi/linux/fsmap.h
>> +++ b/include/uapi/linux/fsmap.h
>> @@ -68,7 +68,7 @@ struct fsmap_head {
>>  };
>>
>>  /* Size of an fsmap_head with room for nr records. */
>> -static inline size_t
>> +static inline __kernel_size_t
>
> This is a static inline helper to assist in malloc calls.  We don't pass
> size_t to the kernel, so why is this necessary over, say,
>
> #include <sys/types.h>
>

Either way works, but including a system header from a kernel header
requires an additional "#ifndef __KERNEL__" check, so I think Miko's
variant is a little nicer.

Generally speaking, you also want to avoid including system headers
indirectly from kernel headers, as POSIX requires that including one
system header should not indirectly make symbols from other system
headers visible. I think this is not a problem here though, as no system
header should include linux/fsmap.h.

         Arnd

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ