Messages in this thread | | | Date | Thu, 10 May 2007 23:37:43 +0200 | From | Jens Axboe <> | Subject | Re: [PATCH 1/12] crypto: don't pollute the global namespace with sg_next() |
| |
On Thu, May 10 2007, Benny Halevy wrote: > Jens Axboe wrote: > > It's a subsystem function, prefix it as such. > > Jens, Boaz and I talked about this over lunch. > I wonder whether the crypto code must use your implementation > instead of its own as it needs to over the sglist, e.g. for > calculating iscsi (data) digest.
The thought did cross my mind, and yes I think that would be a good idea. The whole thing should probably just migrate to lib/scattersomething.c
> The crypto implementation of chained sglists in crypto/scatterwalk.h > determines the chain link by !sg->length which will sorta work > with your implementation, however the marker bit on page pointer must > be cleared to use it.
I don't like using sg->length, as that may be modified for legitimate reason. That's why I chose to use the lsb bit of the page pointer.
> Also, is it possible that after the original sglist has gone through > dma_map_sg and entries were merged, some entries will have zero > length? I'm not sure... If so, if the crypto implementation scans > the sg list after it was dma mapped (maybe in a retry path) it > may hit an entry that looks to it like a chaining link. This > might be an existing bug and another reason for the crypto code > to use your implementation.
It's hard to say, depends heavily on the sub system or arch. Even if using the pointer tagging mechanism seems a bit nasty, I think it's the more resilient approach.
-- Jens Axboe
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |