Messages in this thread | | | Date | Tue, 20 Sep 2022 20:07:09 -0400 | Subject | Re: [PATCH 1/4] x86/entry: Work around Clang __bdos() bug | From | Boris Ostrovsky <> |
| |
On 9/20/22 3:21 PM, Kees Cook wrote: > After expanding bounds checking to use __builtin_dynamic_object_size(), > 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 > > Cc: Juergen Gross <jgross@suse.com> > Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> > Cc: Nathan Chancellor <nathan@kernel.org> > Cc: Nick Desaulniers <ndesaulniers@google.com> > Cc: xen-devel@lists.xenproject.org > Cc: llvm@lists.linux.dev > Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
| |