Re: [PATCH] auditsc: Implement a workaround for a GCC bug triggered by task comm changes

From: Yafang Shao
Date: Tue Dec 03 2024 - 22:00:37 EST


On Wed, Dec 4, 2024 at 6:06 AM Paul Moore <paul@xxxxxxxxxxxxxx> wrote:
>
> On Tue, Dec 3, 2024 at 1:04 AM Yafang Shao <laoar.shao@xxxxxxxxx> wrote:
> >
> > From: Yafang shao <laoar.shao@xxxxxxxxx>
> >
> > A build failure has been reported with the following details:
> >
> > In file included from include/linux/string.h:390,
> > from include/linux/bitmap.h:13,
> > from include/linux/cpumask.h:12,
> > from include/linux/smp.h:13,
> > from include/linux/lockdep.h:14,
> > from include/linux/spinlock.h:63,
> > from include/linux/wait.h:9,
> > from include/linux/wait_bit.h:8,
> > from include/linux/fs.h:6,
> > from kernel/auditsc.c:37:
> > In function 'sized_strscpy',
> > inlined from '__audit_ptrace' at kernel/auditsc.c:2732:2:
> > >> include/linux/fortify-string.h:293:17: error: call to '__write_overflow' declared with attribute error: detected write beyond size of object (1st parameter)
> > 293 | __write_overflow();
> > | ^~~~~~~~~~~~~~~~~~
> > In function 'sized_strscpy',
> > inlined from 'audit_signal_info_syscall' at kernel/auditsc.c:2759:3:
> > >> include/linux/fortify-string.h:293:17: error: call to '__write_overflow' declared with attribute error: detected write beyond size of object (1st parameter)
> > 293 | __write_overflow();
> > | ^~~~~~~~~~~~~~~~~~
> >
> > The issue appears to be a GCC bug, though the root cause remains
> > unclear at this time. For now, let's implement a workaround.
> >
> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202410171420.1V00ICVG-lkp@xxxxxxxxx/
> > Reported-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
> > Closes: https://lore.kernel.org/all/20241128182435.57a1ea6f@xxxxxxxxxxxxxxxxxx/
> > Reported-by: "Zhuo, Qiuxu" <qiuxu.zhuo@xxxxxxxxx>
> > Closes: https://lore.kernel.org/all/CY8PR11MB71348E568DBDA576F17DAFF389362@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
> > Originally-by: Kees Cook <kees@xxxxxxxxxx>
> > Link: https://lore.kernel.org/linux-hardening/202410171059.C2C395030@keescook/
> > Signed-off-by: Yafang shao <laoar.shao@xxxxxxxxx>
> > Tested-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
> > ---
> > kernel/auditsc.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Thanks, does anyone have a link to the GCC bug report? We really
> should mention that in the commit description and/or metadata.

I came across a GCC bug report [0] while researching online. This
issue was reportedly fixed in GCC-12.1 [1], yet it seems the same bug
is still being triggered in GCC-14.2.0[2].
Should I file a new bug report with GCC to address this?

[0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101941
[1] https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=76fe494230477a69f8fa8c8ca2d493acaf343eb1
[2] https://lore.kernel.org/all/20241128182435.57a1ea6f@xxxxxxxxxxxxxxxxxx/

--
Regards
Yafang