On Wed, Sep 24, 2014 at 3:26 PM, Johan Hovold <johan@xxxxxxxxxx> wrote: > On Wed, Sep 24, 2014 at 01:00:02PM +0100, Lee Jones wrote: >> On Wed, 24 Sep 2014, Johan Hovold wrote: >> >> > On Wed, Sep 24, 2014 at 11:12:06AM +0100, Lee Jones wrote: >> > > On Mon, 22 Sep 2014, Octavian Purdila wrote: >> > > >> > > > Currently the I/O buffer is allocated part of the device status >> > > > structure, potentially sharing the same cache line with other members >> > > > in this structure. >> > > > >> > > > Allocate the buffer separately, to avoid the I/O operations corrupting >> > > > the device status structure due to cache line sharing. >> > > > >> > > > Compiled tested only as I don't have access to hardware. >> > > > >> > > > Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> >> > > > --- >> > > > drivers/mfd/viperboard.c | 8 ++++++++ >> > > > include/linux/mfd/viperboard.h | 2 +- >> > > > 2 files changed, 9 insertions(+), 1 deletion(-) >> > > > >> > > > diff --git a/drivers/mfd/viperboard.c b/drivers/mfd/viperboard.c >> > > > index e00f534..5f62f4e 100644 >> > > > --- a/drivers/mfd/viperboard.c >> > > > +++ b/drivers/mfd/viperboard.c >> > > > @@ -64,6 +64,12 @@ static int vprbrd_probe(struct usb_interface *interface, >> > > > return -ENOMEM; >> > > > } >> > > > >> > > > + vb->buf = kzalloc(sizeof(struct vprbrd_i2c_write_msg), GFP_KERNEL); >> > > >> > > Can you obtain the 'struct device' first then use managed resources >> > > (devm_*)? >> > >> > I think any devres conversion should be done in a follow-up patch and >> > not be included in the fix (e.g. in order to facilitate backporting). We >> > also don't want to mix allocation schemes. >> >> I agree, but equally I'm not keen on accepting this patch as I believe >> it could be done better. >> >> Please submit two patches, one converting to shared resources and this >> being the subsequent one, fixed up to do the right thing. > > A buffer-corruption fix is a candidate for stable, whereas a devres > conversion (clean up) is not. Hence the former should not depend on the > latter. > I can follow-up with a v3 3 patch series: first for the fix, second for the OOM & error path cleanup, third for devm conversion. I think this will address both issues (backport and better final result). -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html