Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753139AbdGSIhC (ORCPT ); Wed, 19 Jul 2017 04:37:02 -0400 Received: from mx2.suse.de ([195.135.220.15]:56169 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752070AbdGSIhA (ORCPT ); Wed, 19 Jul 2017 04:37:00 -0400 Date: Wed, 19 Jul 2017 10:36:54 +0200 From: Johannes Thumshirn To: Jason L Tibbitts III , Doug Gilbert Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, dvyukov@google.com, hare@suse.com, hch@lst.de, martin.petersen@oracle.com Subject: Re: [REGRESSION] 28676d869bbb (scsi: sg: check for valid direction before starting the request) breaks mtx tape library control Message-ID: <20170719083654.GE4151@linux-x5ow.site> References: <20170718073747.GD4875@linux-x5ow.site> <20170719070335.GC4151@linux-x5ow.site> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1174 Lines: 34 On Wed, Jul 19, 2017 at 03:13:34AM -0500, Jason L Tibbitts III wrote: > [ 46.304530] sg_is_valid_dxfer: dxfer_direction: -2, dxfer_len: 0 Ahh now I see the -2 (SG_DXFER_TO_DEV) is the crucial point here. It is 0 in your case. This would "fix" it but I'm not generally sure it is _the_ solution: diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 1e82d4128a84..b421ec81d775 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -764,7 +764,7 @@ static bool sg_is_valid_dxfer(sg_io_hdr_t *hp) return true; case SG_DXFER_TO_DEV: case SG_DXFER_TO_FROM_DEV: - if (!hp->dxferp || hp->dxfer_len == 0) + if (!hp->dxferp) return false; return true; case SG_DXFER_UNKNOWN: Doug, what are the rules for SG_DXFER_TO_{FROM_}DEV? Apparently we can't be sure len > 0, can we rely on dxferp being present? Thanks, Johannes -- Johannes Thumshirn Storage jthumshirn@suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N?rnberg GF: Felix Imend?rffer, Jane Smithard, Graham Norton HRB 21284 (AG N?rnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850