Performing pointer arithmetic on a null pointer?

Greg KH greg at kroah.com
Thu May 27 11:32:11 EDT 2021


On Fri, May 28, 2021 at 12:14:43AM +0900, Hyeonggon Yoo wrote:
> Hello, I was compiling kernel with make CC=clang-10 W=1 -s
> 
> there are some places that compiler complains about
> pointer arithmetic like below.it says it's undefined behavior.
> 
> is it just OK to use UBs like this (I hope it's not),
> or am I missing something?
> 
> fs/kernfs/file.c:128:15: warning: performing pointer arithmetic on
> 	a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
>                 return NULL + !*ppos;

Should work just fine, what problems have you found with that code?

Also happens in a few other places in the vfs layer.  Tricky code, but
it works as pointer math is valid C code :)

thanks,

greg k-h



More information about the Kernelnewbies mailing list