scsi: storvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening
authorAndres Beltran <lkmlabelt@gmail.com>
Mon, 9 Nov 2020 10:04:01 +0000 (11:04 +0100)
committerWei Liu <wei.liu@kernel.org>
Tue, 17 Nov 2020 10:54:06 +0000 (10:54 +0000)
commit453de21c2b8281228173a7b689120b92929743d6
tree44281fbc42773442dc6631e85662979ce600403b
parente8b7db38449ac5b950a3f00519171c4be3e226ff
scsi: storvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening

Currently, pointers to guest memory are passed to Hyper-V as
transaction IDs in storvsc. In the face of errors or malicious
behavior in Hyper-V, storvsc should not expose or trust the transaction
IDs returned by Hyper-V to be valid guest memory addresses. Instead,
use small integers generated by vmbus_requestor as requests
(transaction) IDs.

Signed-off-by: Andres Beltran <lkmlabelt@gmail.com>
Co-developed-by: Andrea Parri (Microsoft) <parri.andrea@gmail.com>
Signed-off-by: Andrea Parri (Microsoft) <parri.andrea@gmail.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org
Link: https://lore.kernel.org/r/20201109100402.8946-3-parri.andrea@gmail.com
Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Wei Liu <wei.liu@kernel.org>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
drivers/scsi/storvsc_drv.c