Re: [GIT PULL] Enable -Wstringop-overflow globally

From: Kees Cook
Date: Fri Jan 26 2024 - 17:24:33 EST


On Fri, Jan 26, 2024 at 03:30:20PM -0600, Gustavo A. R. Silva wrote:
>
>
> On 1/26/24 15:22, Linus Torvalds wrote:
> > On Mon, 22 Jan 2024 at 07:29, Gustavo A. R. Silva <gustavoars@xxxxxxxxxx> wrote:
> > >
> > > Enable -Wstringop-overflow globally
> >
> > I suspect I'll have to revert this.
> >
> > On arm64, I get a "writing 16 bytes into a region of size 0" in the Xe driver
> >
> > drivers/gpu/drm/xe/xe_gt_pagefault.c:340
> >
> > but I haven't looked into it much yet.
> >
> > It's not some gcc-11 issue, though, this is with gcc version 13.2.1
> >
> > It looks like the kernel test robot reported this too (for s390), at
> >
> > https://lore.kernel.org/all/202401161031.hjGJHMiJ-lkp@xxxxxxxxx/T/
> >
> > and in that case it was gcc-13.2.0.
> >
> > So I don't think the issue is about gcc-11 at all, but about other
> > random details.
>
> Let me take a look.

I think xe has some other weird problems too. This may be related (under
allocating):

./drivers/gpu/drm/xe/xe_vm.c: In function 'xe_vma_create':
./drivers/gpu/drm/xe/xe_vm.c:806:21: warning: allocation of insufficient size '224' for type 'struct xe_vma' with size '368' [-Walloc-size]
806 | vma = kzalloc(sizeof(*vma) - sizeof(struct xe_userptr),
| ^


--
Kees Cook