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

From: Linus Torvalds
Date: Tue Nov 07 2017 - 10:51:05 EST


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.

Linus