Re: [RFC 1/4] asm-generic/uaccess: don't define inline functions if noinline lib/* in use

From: Arnd Bergmann
Date: Tue Jan 14 2020 - 15:58:02 EST


On Tue, Jan 14, 2020 at 9:08 PM Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> wrote:
>
> There are 2 generic varaints of strncpy_from_user() / strnlen_user()
> (1). inline version in asm-generic/uaccess.h
> (2). optimized word-at-a-time version in lib/*
>
> This patch disables #1 if #2 selected. This allows arches to continue
> reusing asm-generic/uaccess.h for rest of code
>
> This came up when switching ARC to generic word-at-a-time interface
>
> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

This looks like a useful change, but I think we can do even better: It
seems that
there are no callers of __strnlen_user or __strncpy_from_user in the
kernel today, so these should not be defined either when the Kconfig symbols
are set. Also, I would suggest moving the 'extern' declaration for the two
functions into the #else branch of the conditional so it does not need to be
duplicated.

Arnd