Andres Beltran a8c3209998 Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer
Pointers to ring-buffer packets sent by Hyper-V are used within the
guest VM. Hyper-V can send packets with erroneous values or modify
packet fields after they are processed by the guest. To defend
against these scenarios, return a copy of the incoming VMBus packet
after validating its length and offset fields in hv_pkt_iter_first().
In this way, the packet can no longer be modified by the host.

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>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: netdev@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20201208045311.10244-1-parri.andrea@gmail.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2021-02-05 09:55:42 +00:00
..
2020-10-14 15:15:35 -07:00
2020-12-16 13:34:31 -08:00
2020-12-16 13:34:31 -08:00
2020-12-02 12:59:04 -05:00
2020-12-09 12:14:41 -05:00
2020-12-16 13:34:31 -08:00
2020-03-11 23:07:59 -04:00
2020-12-16 13:34:31 -08:00
2020-10-14 15:15:35 -07:00
2020-12-16 13:34:31 -08:00
2020-10-23 16:19:02 -07:00
2018-06-19 22:02:25 -04:00
2019-11-12 22:21:35 -05:00
2020-02-24 14:54:25 -05:00
2020-03-11 23:07:59 -04:00
2020-10-07 21:48:28 -04:00
2019-01-08 21:58:35 -05:00
2020-09-02 22:49:06 -04:00
2020-12-16 13:34:31 -08:00
2020-09-02 22:49:06 -04:00
2020-08-23 17:36:59 -05:00
2020-10-26 18:23:24 -04:00
2018-11-06 21:31:28 -05:00
2020-07-24 22:09:55 -04:00
2020-12-16 13:34:31 -08:00
2020-12-07 20:24:09 -05:00
2020-10-14 15:15:35 -07:00
2020-12-07 20:24:09 -05:00
2020-12-07 20:24:09 -05:00
2020-09-15 17:34:18 -04:00
2020-08-23 17:36:59 -05:00
2020-10-14 15:15:35 -07:00
2020-10-14 15:15:35 -07:00
2021-01-01 12:58:07 -08:00
2020-06-19 23:06:43 -04:00
2018-06-19 22:02:25 -04:00
2020-12-01 14:53:39 -07:00
2020-10-14 15:15:35 -07:00
2019-07-11 15:14:01 -07:00
2020-02-24 15:01:57 -05:00
2020-10-26 18:23:24 -04:00
2020-10-14 15:15:35 -07:00
2019-07-11 15:14:01 -07:00