* Arnd Bergmann <[email protected]> wrote:

> gcc-8 warns about using strncpy() with the source size as the limit:
> 
> fs/exec.c:1223:32: error: argument to 'sizeof' in 'strncpy' call is the same 
> expression as the source; did you mean to use the size of the destination? 
> [-Werror=sizeof-pointer-memaccess]
> 
> This is indeed slightly suspicious, as it protects us from source
> arguments without NUL-termination, but does not guarantee that the
> destination is terminated.
> 
> This keeps the strncpy() to ensure we have properly padded target buffer,
> but ensures that we use the correct length, by passing the actual length
> of the destination buffer as well as adding a build-time check to ensure
> it is exactly TASK_COMM_LEN.  There are only 23 callsights which I all
> reviewed to ensure this is currently the case. We could get away with
> doing only the check or passing the right length, but it doesn't hurt
> to do both.
> 
> Suggested-by: Kees Cook <[email protected]>
> Signed-off-by: Arnd Bergmann <[email protected]>

Looks useful.

Acked-by: Ingo Molnar <[email protected]>

Thanks,

        Ingo

Reply via email to