On 05/07/17 13:42, Johannes Thumshirn wrote: > On Wed, Jul 05, 2017 at 01:19:09PM +0100, Chris Clayton wrote: >> I'm happy to test any patches you may propose. > > Can you verify this fix? Preferedably with using Nero. It passes my small > reproducer: > Thanks Johannes. With your patch applied to 4.12.0, all three of the nero applications can now detect my drives again. Excellent work! Thank you. Tested-by: Chris Clayton <chris2553@xxxxxxxxxxxxxx> > From f52502180cc3843f8acc956253af2575245546a8 Mon Sep 17 00:00:00 2001 > From: Johannes Thumshirn <jthumshirn@xxxxxxx> > Date: Wed, 5 Jul 2017 14:31:47 +0200 > Subject: [PATCH] scsi: sg: fix SG_DXFER_FROM_DEV transfers > > SG_DXFER_FROM_DEV transfers do not have a dxferp as we set it to NULL, > but must have a length bigger than 0. This fixes a regression introduced > by commit 28676d869bbb ("scsi: sg: check for valid direction before > starting the request") > > Signed-off-by: Johannes Thumshirn <jthumshirn@xxxxxxx> > Fixes: 28676d869bbb ("scsi: sg: check for valid direction before starting the request") > --- > drivers/scsi/sg.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c > index 21225d62b0c1..3c91593260aa 100644 > --- a/drivers/scsi/sg.c > +++ b/drivers/scsi/sg.c > @@ -758,8 +758,11 @@ static bool sg_is_valid_dxfer(sg_io_hdr_t *hp) > if (hp->dxferp || hp->dxfer_len > 0) > return false; > return true; > - case SG_DXFER_TO_DEV: > case SG_DXFER_FROM_DEV: > + if (hp->dxferp || hp->dxfer_len < 0) > + return false; > + return true; > + case SG_DXFER_TO_DEV: > case SG_DXFER_TO_FROM_DEV: > if (!hp->dxferp || hp->dxfer_len == 0) > return false; >