Re: [PATCH] x86/module: Fixed bug allowing invalid relocation addresses.

From: gilad kleinman
Date: Wed Mar 18 2020 - 15:46:52 EST


When you load a bad module and the kernel crashes -- the panic message
will usually be related to the module and easily traced back. If you
load a module with a bad relocation table (because of a bit-flip \ bad
toolchain), it will override other kernel code, resulting in an
impossible to trace back kernel panic.

On Mon, Mar 16, 2020 at 2:58 PM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Sat, Mar 14, 2020 at 11:36:26PM +0200, Gilad Wharton Kleinman wrote:
> > If a kernel module with a bad relocation offset is loaded to a x86 kernel,
> > the kernel will apply the relocation to a address not inside the module
> > (resulting in memory in the kernel being overridden).
>
> Why !?
>
> If you load a bad module it's game over anyway. At best this protects us
> from broken toolchains.