>>>>> "Akinobu" == Akinobu Mita <akinobu.mita@xxxxxxxxx> writes: Akinobu> kmap_atomic() is now using stack based implementation and Akinobu> doesn't take the KM_type argument anymore. So nesting Akinobu> kmap_atomic() calls must be properly stacked. Akinobu> This fixes nesting kmap_atomic() calls for scsi_sglist and Akinobu> scsi_prot_sglist in prot_verify_write(). I don't see how the prog_sglist is incorrectly nested? Also, with your code you also end up mapping and unmapping the protection page for every data segment. The two scatterlists have different cadence. Akinobu> This also fixes another issue that invalid kmap address is used Akinobu> for kunmap_atomic(): the kmap address 'daddr' is incremented in Akinobu> the loop for each data page, and it can reach the next page Akinobu> boundary. That fix is fine. -- Martin K. Petersen Oracle Linux Engineering -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html