[Bug tree-optimization/108552] Linux i386 kernel 5.14 memory corruption for pre_compound_page() when gcov is enabled
feng.tang at intel dot com
gcc-bugzilla@gcc.gnu.org
Sat Jan 28 14:20:56 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108552
--- Comment #36 from Tang, Feng <feng.tang at intel dot com> ---
(In reply to Vladimir Makarov from comment #35)
> (In reply to Jakub Jelinek from comment #34)
> > Seems right now DECL_NONALIASED is only used on these coverage vars and on
> > Fortran caf tokens, so perhaps a quick workaround would be on the LRA side
> > never reread stuff from MEMs with VAR_P && DECL_NONALIASED MEM_EXPRs. CCing
> > Vlad on that.
>
> The following patch can do this:
>
> diff --git a/gcc/lra-constraints.cc b/gcc/lra-constraints.cc
Thanks for the patch!
As the bug is against 11.3, so I git cloned gcc git, and checkout
origin/releases/gcc-11 branch, then compile gcc (TBH, it's my first time)
* built gcc-11,compiled i386 kernel, run my local reproduce(QEMU loop booting
that kernel), the error was reproduced at once for every 20 boots rate.
* manually applied Vladimir's patch (original patch seems to be against
'master' branch)
* rebuilt gcc, make clean and re-compile i386 kernel, and the error was NOT
seen in 350 runs so far
Also I will attach the page_alloc.i and objdump of prep_compound_page() with
the new patched gcc-11
More information about the Gcc-bugs
mailing list