Re: [PATCH] string.h: work around __builtin_constant_p quirk

From: Arnd Bergmann
Date: Mon Aug 07 2017 - 18:29:26 EST


On Mon, Aug 7, 2017 at 11:15 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> The compile-time check in the hardened memcpy() triggered a build
> error in code that should not have:
>
> In function 'memcpy',
> inlined from '__adfs_dir_put' at fs/adfs/dir_f.c:318:2,
> inlined from 'adfs_f_update' at fs/adfs/dir_f.c:403:2:
> include/linux/string.h:305:4: error: call to '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter
> __read_overflow2();
> ^~~~~~~~~~~~~~~~~~
>
> Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72785
> Fixes: mmotm ("fortify: use WARN instead of BUG for now")
> Fixes: 6974f0c4555e ("include/linux/string.h: add the option of fortified string.h functions")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Please ignore this version for now, it seems that I accidentally
disabled all the compile-time
checks with the __builtin_choose_expr

Arnd