Re: [PATCH 4.19 174/229] x86/entry: Work around Clang __bdos() bug
From: Greg Kroah-Hartman
Date: Tue Oct 25 2022 - 08:49:48 EST
On Mon, Oct 24, 2022 at 07:41:27PM +0200, Pavel Machek wrote:
> Hi!
>
> > From: Kees Cook <keescook@xxxxxxxxxxxx>
> >
> > [ Upstream commit 3e1730842f142add55dc658929221521a9ea62b6 ]
> >
> > Clang produces a false positive when building with CONFIG_FORTIFY_SOURCE=y
> > and CONFIG_UBSAN_BOUNDS=y when operating on an array with a dynamic
> > offset. Work around this by using a direct assignment of an empty
> > instance. Avoids this warning:
> >
> > ../include/linux/fortify-string.h:309:4: warning: call to __write_overflow_field declared with 'warn
> > ing' attribute: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wat
> > tribute-warning]
> > __write_overflow_field(p_size_field, size);
> > ^
> >
> > which was isolated to the memset() call in xen_load_idt().
> >
> > Note that this looks very much like another bug that was worked around:
> > https://github.com/ClangBuiltLinux/linux/issues/1592
>
> We don't have CONFIG_UBSAN_BOUNDS in 4.19, so maybe we don't need this
> one?
Good point, I'll drop this from 5.4.y and older now, thanks.
greg k-h