Re: [BACKPORT 4.4.y 01/25] mmc: pwrseq: constify mmc_pwrseq_ops structures

From: Arnd Bergmann
Date: Tue Mar 26 2019 - 04:12:04 EST


On Tue, Mar 26, 2019 at 2:22 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, Mar 22, 2019 at 04:43:52PM +0100, Arnd Bergmann wrote:

> > }
> >
> > -static struct mmc_pwrseq_ops mmc_pwrseq_simple_ops = {
> > +static const struct mmc_pwrseq_ops mmc_pwrseq_simple_ops = {
> > .pre_power_on = mmc_pwrseq_simple_pre_power_on,
> > .post_power_on = mmc_pwrseq_simple_post_power_on,
> > .power_off = mmc_pwrseq_simple_power_off,
>
> Why is this needed for a stable patch? It doesn't fix a bug, it just
> looks like it is a "nice thing" to have, right? I don't think any later
> patch in this series relies it it, or am I missing something?

Right, the benefit here is rather small. In theory, any structure of
function pointers is a place into which an exploit can be placed
in case someone finds a way to modify a few bytes of kernel
memory. Placing the structures in read-only memory make this
a little harder (it doesn't prevent rowhammer attacks though).

Dropping this patch is certainly fine with me, as we have a large
supply of other structure definitions like this, and we wont' get close to
plugging enough of them in stable kernels.

Arnd