Subject: Re: [PATCH]: Fix networking scatterlist regressions.

From: Jens Axboe <[email-masked]>
Date: Wed, 31 Oct 2007 09:08:49 +0100

On Wed, Oct 31 2007, David Miller wrote:
> From: Jens Axboe <[email-masked]>
> Date: Wed, 31 Oct 2007 09:01:43 +0100
> 
> > On Wed, Oct 31 2007, David Miller wrote:
> > > From: Jens Axboe <[email-masked]>
> > > Date: Wed, 31 Oct 2007 08:46:21 +0100
> > > 
> > > > On Tue, Oct 30 2007, David Miller wrote:
> > > > > @@ -293,7 +293,7 @@ decryptor(struct scatterlist *sg, void *data)
> > > > >  	if (thislen == 0)
> > > > >  		return 0;
> > > > >  
> > > > > -	sg_mark_end(desc->frags, desc->fragno);
> > > > > +	__sg_mark_end(desc->frags, desc->fragno);
> > > > >  
> > > > >  	ret = crypto_blkcipher_decrypt_iv(&desc->desc, desc->frags,
> > > > >  					  desc->frags, thislen);
> > > > 
> > > > Hmm? These don't seem right. It also has a weird code sequence:
> > >  ...
> > > > Did something go wrong there?
> > > 
> > > Yes, I fixed those up after doing some allmodconfig builds.
> > > 
> > > Here is the final patch I actually pushed to Linus:
> > 
> > That fixes up the sg_mark_end() bit, but it's still calling
> > sg_init_table() just a few lines further down. Is that correct?
> 
> Absolutely.  It initially using the scatterlist for this
> crypto layer call:
> 
> 	ret = crypto_blkcipher_decrypt_iv(&desc->desc, desc->frags,
> 					  desc->frags, thislen);
> 	if (ret)
> 		return ret;
> 
> then it reinits and sets the sglist to the values the caller
> wants.

Great, just wanted to double check that it was indeed correct!

-- 
Jens Axboe