On Tue, Nov 07, 2017 at 07:51:00AM -0800, Linus Torvalds wrote:
On Tue, Nov 7, 2017 at 2:28 AM, Fengguang Wu <fengguang.wu@xxxxxxxxx> wrote:
FYI This bug trace also contains inotify_read().
[ 3.365745] BUG: unable to handle kernel paging request at ffff8800172f8000
[ 3.366661] IP: slob_free+0x1c4/0x276
[ 3.373500] RBP: ffff8800172f7ffe
Same gcc bug: it's a 2-byte read from the end of the page that has
been turned by gcc into a 4-byte read, and causes an oops because your
gcc version is bad.
I *think* it's triggered by CONFIG_OPTIMIZE_FOR_SIZE=y, which causes
gcc to generate garbage code. Yes, the 32-bit read is one byte shorter
because it doesn't have a operand size prefix, but it's buggy.
I'll try disabling CONFIG_OPTIMIZE_FOR_SIZE for gcc 4.x.
Thanks,
Fengguang