Messages in this thread | | | Date | Tue, 22 Nov 2022 21:15:51 -0800 | From | Kees Cook <> | Subject | Re: [PATCH 4/4] fortify: Use __builtin_dynamic_object_size() when available |
| |
On Tue, Nov 22, 2022 at 05:20:37AM -0500, Siddhesh Poyarekar wrote: > On 2022-09-20 15:22, Kees Cook wrote: > > Since the commits starting with c37495d6254c ("slab: add __alloc_size > > attributes for better bounds checking"), the compilers have runtime > > allocation size hints available in some places. This was immediately > > available to CONFIG_UBSAN_BOUNDS, but CONFIG_FORTIFY_SOURCE needed > > updating to explicitly make use the hints via the associated > > __builtin_dynamic_object_size() helper. Detect and use the builtin when > > it is available, increasing the accuracy of the mitigation. When runtime > > sizes are not available, __builtin_dynamic_object_size() falls back to > > __builtin_object_size(), leaving the existing bounds checking unchanged. > > > > Additionally update the VMALLOC_LINEAR_OVERFLOW LKDTM test to make the > > hint invisible, otherwise the architectural defense is not exercised > > (the buffer overflow is detected in the memset() rather than when it > > crosses the edge of the allocation). > > > > Cc: Miguel Ojeda <ojeda@kernel.org> > > Cc: Siddhesh Poyarekar <siddhesh@gotplt.org> > > Cc: Arnd Bergmann <arnd@arndb.de> > > Cc: Nick Desaulniers <ndesaulniers@google.com> > > Cc: Nathan Chancellor <nathan@kernel.org> > > Cc: Tom Rix <trix@redhat.com> > > Cc: linux-hardening@vger.kernel.org > > Cc: llvm@lists.linux.dev > > Signed-off-by: Kees Cook <keescook@chromium.org> > > --- > > drivers/misc/lkdtm/heap.c | 1 + > > include/linux/compiler_attributes.h | 5 +++++ > > include/linux/fortify-string.h | 7 +++++++ > > 3 files changed, 13 insertions(+) > > Hi Kees, > > Circling back on this, I noticed that all but this patch got pulled into > Linus' tree. Is there a reason why this has been held back?
Hi!
Yeah, it depended on a bunch of various clean-ups, which have finally managed to land. It's late enough in the devel cycle that I suspect I will hold this one back until after the merge window and then make sure it has plenty of time to bake in -next. If the rest of the patches continue to behave, I may change my mind... :)
-Kees
-- Kees Cook
| |