Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751773AbdHGQBr (ORCPT ); Mon, 7 Aug 2017 12:01:47 -0400 Received: from mail-qk0-f195.google.com ([209.85.220.195]:36654 "EHLO mail-qk0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751364AbdHGQBp (ORCPT ); Mon, 7 Aug 2017 12:01:45 -0400 MIME-Version: 1.0 In-Reply-To: <20170807155445.GA4074@magnolia> References: <20170806164428.2273-1-mikko.rapeli@iki.fi> <20170806164428.2273-34-mikko.rapeli@iki.fi> <20170807155445.GA4074@magnolia> From: Arnd Bergmann Date: Mon, 7 Aug 2017 18:01:43 +0200 X-Google-Sender-Auth: pqaonCrIELNQ0s4X94xuEQrhj_4 Message-ID: Subject: Re: [PATCH v06 33/36] uapi linux/fsmap.h: use __kernel_size_t instead of size_t To: "Darrick J. Wong" Cc: Mikko Rapeli , Linux Kernel Mailing List , Linux API , "Theodore Ts'o" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by nfs id v77G1r95017755 Content-Length: 1527 Lines: 42 On Mon, Aug 7, 2017 at 5:54 PM, Darrick J. Wong 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 >> Cc: Darrick J. Wong >> --- >> 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 > 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