[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <60521C02-BD56-4BAD-AB32-561F7A1AAA6A@linux.dev>
Date: Mon, 7 Apr 2025 22:53:17 +0200
From: Thorsten Blum <thorsten.blum@...ux.dev>
To: Kees Cook <kees@...nel.org>
Cc: James Smart <james.smart@...adcom.com>,
Ram Vegesna <ram.vegesna@...adcom.com>,
"James E.J. Bottomley" <James.Bottomley@...senpartnership.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
linux-hardening@...r.kernel.org,
linux-scsi@...r.kernel.org,
target-devel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] scsi: elx: sli4: Replace deprecated strncpy() with
strscpy()
On 7. Apr 2025, at 22:30, Kees Cook wrote:
> On Mon, Apr 07, 2025 at 09:01:53PM +0200, Thorsten Blum wrote:
>> On 7. Apr 2025, at 20:28, Kees Cook wrote:
>>> On Wed, Feb 26, 2025 at 07:55:26PM +0100, Thorsten Blum wrote:
>>>> strncpy() is deprecated for NUL-terminated destination buffers; use
>>>> strscpy() instead.
>>>>
>>>> Compile-tested only.
>>>>
>>>> Link: https://github.com/KSPP/linux/issues/90
>>>> Cc: linux-hardening@...r.kernel.org
>>>> Signed-off-by: Thorsten Blum <thorsten.blum@...ux.dev>
>>>> ---
>>>
>>> Standard question for these kinds of conversions: Why is it safe that
>>> this is not NUL padded? I haven't found where this buffer is being
>>> zeroed out, but it probably is (given the "- 1" on the length), but
>>> without run-time testing, this needs much more careful analysis.
>>
>> I think this was submitted before I started to explain this better.
>>
>> 'wr_obj' is the zeroed out 'buf' returned from sli_config_cmd_init().
>
> I don't see how dma->virt and buf are associated?
Since dma is NULL, sli_config_cmd_init() returns config->payload.embed
early (it doesn't get to return dma->virt) and before we have
memset(buf, 0, SLI4_BMBX_SIZE);
config = buf;
and SLI4_BMBX_SIZE is 256 which matches the size of sli4_cmd_sli_config.
It's not very obvious tbh.
Powered by blists - more mailing lists