On Wed, Dec 6, 2017 at 9:49 AM, Ingo Molnar <[email protected]> wrote:
>
> * 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]>

Ingo, can you take this into -tip, or should this go via -mm or some other tree?

-Kees

-- 
Kees Cook
Pixel Security

Reply via email to