On Tue, Nov 7, 2017 at 2:25 AM, Fengguang Wu <[email protected]> wrote:
>
> FYI this happens in v4.14-rc8 -- it's not necessarily a new bug.

Yeah, no it is not new.

It also likely doesn't matter (I suspect it happens if you try to
force-load crazy modules that don't exist, and ISA doesn't have proper
probing).

But the code disassembles to

   0: 8b 50 7c              mov    0x7c(%eax),%edx
   3: 83 05 38 86 21 44 01 addl   $0x1,X
   a:* 8b 4a 0c              mov    0xc(%edx),%ecx <-- trapping instruction
   d: 83 15 3c 86 21 44 00 adcl   $0x0,X+4
  14: 85 c9                test   %ecx,%ecx

and while I have no idea what that odd addl/adcl is (other than the
obvious "it's a 64-bit increment" - probably some random statistics
due to your config), it looks like the oops is due to

        struct isa_driver *isa_driver = dev->platform_data;

        if (isa_driver->shutdown)

with isa_driver being NULL (EDX: 00000000).

So dev->platform_data is NULL, but why that actually happens I don't
know. Some bad ISA device registration that _should_ have failed but
instead got into some half-alive state, I'm sure.

I'm not sure if anybody cares, but maybe adding a NULL check just to
make the 0day robot not report this is a good idea.

              Linus

Reply via email to