diff mbox series

vringh: Use wiov->used to check for read/write desc order

Message ID 1624361873-6097-1-git-send-email-neeraju@codeaurora.org
State Superseded
Headers show
Series vringh: Use wiov->used to check for read/write desc order | expand

Commit Message

Neeraj Upadhyay June 22, 2021, 11:37 a.m. UTC
As iov->used is incremented when descriptors are processed
in __vringh_iov(), use it to check for incorrect read
and write descriptor order.

Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
---
 drivers/vhost/vringh.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jason Wang June 23, 2021, 3:21 a.m. UTC | #1
在 2021/6/22 下午7:37, Neeraj Upadhyay 写道:
> As iov->used is incremented when descriptors are processed

> in __vringh_iov(), use it to check for incorrect read

> and write descriptor order.

>

> Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>



Acked-by: Jason Wang <jasowang@redhat.com>



> ---

>   drivers/vhost/vringh.c | 2 +-

>   1 file changed, 1 insertion(+), 1 deletion(-)

>

> diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c

> index 4af8fa2..14e2043 100644

> --- a/drivers/vhost/vringh.c

> +++ b/drivers/vhost/vringh.c

> @@ -359,7 +359,7 @@ __vringh_iov(struct vringh *vrh, u16 i,

>   			iov = wiov;

>   		else {

>   			iov = riov;

> -			if (unlikely(wiov && wiov->i)) {

> +			if (unlikely(wiov && wiov->used)) {

>   				vringh_bad("Readable desc %p after writable",

>   					   &descs[i]);

>   				err = -EINVAL;
Stefano Garzarella June 23, 2021, 4:10 p.m. UTC | #2
On Tue, Jun 22, 2021 at 05:07:53PM +0530, Neeraj Upadhyay wrote:
>As iov->used is incremented when descriptors are processed

>in __vringh_iov(), use it to check for incorrect read

>and write descriptor order.

>

>Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>

>---

> drivers/vhost/vringh.c | 2 +-

> 1 file changed, 1 insertion(+), 1 deletion(-)


Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>


>

>diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c

>index 4af8fa2..14e2043 100644

>--- a/drivers/vhost/vringh.c

>+++ b/drivers/vhost/vringh.c

>@@ -359,7 +359,7 @@ __vringh_iov(struct vringh *vrh, u16 i,

> 			iov = wiov;

> 		else {

> 			iov = riov;

>-			if (unlikely(wiov && wiov->i)) {

>+			if (unlikely(wiov && wiov->used)) {

> 				vringh_bad("Readable desc %p after writable",

> 					   &descs[i]);

> 				err = -EINVAL;

>-- 

>QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,

>hosted by The Linux Foundation

>
Michael S. Tsirkin June 23, 2021, 8:09 p.m. UTC | #3
On Tue, Jun 22, 2021 at 05:07:53PM +0530, Neeraj Upadhyay wrote:
> As iov->used is incremented when descriptors are processed

> in __vringh_iov(), use it to check for incorrect read

> and write descriptor order.


Could the commit log be clearer? why is wiov->i incorrect here?

> Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>

> ---

>  drivers/vhost/vringh.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c

> index 4af8fa2..14e2043 100644

> --- a/drivers/vhost/vringh.c

> +++ b/drivers/vhost/vringh.c

> @@ -359,7 +359,7 @@ __vringh_iov(struct vringh *vrh, u16 i,

>  			iov = wiov;

>  		else {

>  			iov = riov;

> -			if (unlikely(wiov && wiov->i)) {

> +			if (unlikely(wiov && wiov->used)) {

>  				vringh_bad("Readable desc %p after writable",

>  					   &descs[i]);

>  				err = -EINVAL;

> -- 

> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, 

> hosted by The Linux Foundation
diff mbox series

Patch

diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c
index 4af8fa2..14e2043 100644
--- a/drivers/vhost/vringh.c
+++ b/drivers/vhost/vringh.c
@@ -359,7 +359,7 @@  __vringh_iov(struct vringh *vrh, u16 i,
 			iov = wiov;
 		else {
 			iov = riov;
-			if (unlikely(wiov && wiov->i)) {
+			if (unlikely(wiov && wiov->used)) {
 				vringh_bad("Readable desc %p after writable",
 					   &descs[i]);
 				err = -EINVAL;