Hi Andy,

On Tue, 24 Feb 2026 at 17:21, Andy Shevchenko
<[email protected]> wrote:
>
> On Tue, Feb 24, 2026 at 05:04:27PM +0000, Fuad Tabba wrote:
> > sized_strscpy() performs word-at-a-time writes to the destination
> > buffer. If the destination buffer is not aligned to unsigned long,
> > direct assignment causes UBSAN misaligned-access errors.
> >
> > Use put_unaligned() to safely write the words to the destination.
>
> Have you measured the performance impact?

Not directly. I verified the disassembly for both x86_64 and aarch64.
On x86_64, both the raw pointer cast and put_unaligned() compile down
to mov %rdi,(%rsi). On aarch64, both compile to str x0, [x1].

> Have you read the comment near to
>
>         if (IS_ENABLED(CONFIG_KMSAN))

Not until now to be honest. However, are you asking whether
put_unaligned() breaks KMSAN? I don't think it does, max is set to 0
when KMSAN is enabled, this entire while loop is bypassed.

Thanks,
/fuad

> ?
>
> --
> With Best Regards,
> Andy Shevchenko
>
>

Reply via email to