Re: [inotify_read] BUG: unable to handle kernel paging request at ffff8800172f8000

From: Fengguang Wu
Date: Tue Nov 07 2017 - 11:09:40 EST


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