On 8/12/22 4:01 PM, Linus Torvalds wrote: > On Fri, Aug 12, 2022 at 2:54 PM Linus Torvalds > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: >> >> And yes, on this latest case it was once again "struct io_cmd_data". > > Duh. I'm a nincompoop. I'm only looking at the BUG_ON(), but > io_cmd_data is the *good* case that should cover it all, the "cmd_sz" > is the problem case, and the problematic stricture name doesn't > actually show up in the BUILD_BUG_ON() output. > > So you have to look at where it's inlined from and check them > individually, and yeah, it seems to be 'struct io_rw' every time. Right, see my reply - it's struct io_rw because of the kiocb changing size depending on what layout is picked. I sent a hack to fix it in that email. I'm _pretty_ sure this is only io_rw as we generally don't include a lot of kernel structs in per-command structs. So while it's a bit of an eye sore (and moves io_rw into the public domain rather than be rw.c private), it should work around the issue. -- Jens Axboe