[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] scsi: pvscsi: limit process IO loop to maximum
From: |
P J P |
Subject: |
Re: [Qemu-devel] [PATCH] scsi: pvscsi: limit process IO loop to maximum page count |
Date: |
Tue, 13 Sep 2016 18:39:38 +0530 (IST) |
+-- On Tue, 13 Sep 2016, Dmitry Fleytman wrote --+
| > A guest user could set the 'ready_ptr' and 'PVSCSIRingInfo *mgr' parameter
| > in 'pvscsi_ring_pop_req_descr', such that it always returns true.
|
| I see. The problematic code is if (ready_ptr != mgr->consumed_ptr) {…}
|
| mgr->consumed_ptr is managed by device and not visible to the driver,
| but ready_ptr is managed by driver and may be set to some “big” number.
|
| In this case it may take a lot of iterations for consumed_ptr
| to become equal to ready_ptr and additionally some requests will be send
multiple times.
|
| The most straightforward way to fix this issue will be to
| check that ready_ptr - consumed_ptr is less than ring size.
I see.
| I think you’re mixing concepts of number of
| pages in the ring and number of requests in the ring.
|
| Each page contains (much) more than one request.
I see, okay.
Thank you so much for the details. I'll send a revised patch.
Thank you.
--
Prasad J Pandit / Red Hat Product Security Team
47AF CE69 3A90 54AA 9045 1053 DD13 3D32 FE5B 041F