From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ming Lei Subject: Re: [PATCH V4 05/16] scsi: ipr: use sg helper to operate scatterlist Date: Mon, 17 Jun 2019 16:50:32 +0800 Message-ID: <20190617085027.GA31002@ming.t460p> References: <20190617030349.26415-1-ming.lei@redhat.com> <20190617030349.26415-6-ming.lei@redhat.com> <20190617082423.GE7455@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <20190617082423.GE7455@lst.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Christoph Hellwig Cc: Michael Schmitz , devel@driverdev.osuosl.org, Hannes Reinecke , Benjamin Block , linux-scsi@vger.kernel.org, "Martin K . Petersen" , Greg Kroah-Hartman , linux-usb@vger.kernel.org, James Smart , "Ewan D . Milne" , Jim Gill , James Bottomley , Brian King , Finn Thain , "Juergen E . Fischer" , Dan Carpenter , Bart Van Assche List-Id: linux-scsi@vger.kernel.org On Mon, Jun 17, 2019 at 10:24:23AM +0200, Christoph Hellwig wrote: > > - for (i = 0; i < (len / bsize_elem); i++, buffer += bsize_elem) { > > - struct page *page = sg_page(&scatterlist[i]); > > + for (i = 0; i < (len / bsize_elem); i++, sg = sg_next(sg), buffer += bsize_elem) { > > Please split the overly long line. Fine. > > > + struct page *page = sg_page(sg); > > > > kaddr = kmap(page); > > memcpy(kaddr, buffer, bsize_elem); > > kunmap(page); > > Not new in this patch, but this is buggy as scatterlists could have > offsets. This should probably use the scatterlist.c copy helper > eventually. This sglist is allocated by driver, see ipr_copy_ucode_buffer(), so offset for any element is zero. Thanks, Ming