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