I still don't see your argument.
The SG table is *already*zeroed*.
The fact that output values will be changed later is irrelevant. They
haven't been changed *before* - or at least you haven't given a reasonable
explanation for why they should have.
So explain to me why the memset() in blk_rq_map_sg() helps, considering
that the memory must have been zeroed at allocation time anyway? Tell me
what it is that fills any of the fields we don't already initialize, and
that can happen *before* that memset?
Linus
-