Re: [PATCH] tomoyo: fix clang pointer arithmetic warning

From: Nick Desaulniers
Date: Wed Nov 11 2020 - 15:00:51 EST


On Mon, Oct 26, 2020 at 2:52 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> clang warns about additions on NULL pointers being undefined in C:
>
> security/tomoyo/securityfs_if.c:226:59: warning: arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension [-Wnull-pointer-arithmetic]
> securityfs_create_file(name, mode, parent, ((u8 *) NULL) + key,
>
> Change the code to instead use a cast through uintptr_t to avoid
> the warning.
>
> Fixes: 9590837b89aa ("Common functions for TOMOYO Linux.")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Thanks for the patch.
Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

> ---
> security/tomoyo/securityfs_if.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/security/tomoyo/securityfs_if.c b/security/tomoyo/securityfs_if.c
> index 546281c5b233..0a5f00073ef1 100644
> --- a/security/tomoyo/securityfs_if.c
> +++ b/security/tomoyo/securityfs_if.c
> @@ -223,7 +223,7 @@ static const struct file_operations tomoyo_operations = {
> static void __init tomoyo_create_entry(const char *name, const umode_t mode,
> struct dentry *parent, const u8 key)
> {
> - securityfs_create_file(name, mode, parent, ((u8 *) NULL) + key,
> + securityfs_create_file(name, mode, parent, (u8 *)(uintptr_t)key,
> &tomoyo_operations);
> }
>
> --
> 2.27.0
>


--
Thanks,
~Nick Desaulniers