All of lore.kernel.org
 help / color / mirror / Atom feed
* gntdev warning fixes
@ 2022-07-08 16:37 Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH 4.19] Ignore failure to unmap -1 Demi Marie Obenour
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Demi Marie Obenour @ 2022-07-08 16:37 UTC (permalink / raw)
  To: Juergen Gross, Greg KH
  Cc: Linux kernel regressions, stable, Linux kernel mailing list,
	Xen developer discussion

The recent gntdev fixes introduced two incorrect WARN_ON()s, which
triggered immediately on my system.  Patches for master and all
supported stable versions follow.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 4.19] Ignore failure to unmap -1
  2022-07-08 16:37 gntdev warning fixes Demi Marie Obenour
@ 2022-07-08 16:37 ` Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH 4.14] " Demi Marie Obenour
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Demi Marie Obenour @ 2022-07-08 16:37 UTC (permalink / raw)
  To: Juergen Gross, Greg KH, Stefano Stabellini, Oleksandr Tyshchenko,
	Demi Marie Obenour
  Cc: Linux kernel regressions, stable, Linux kernel mailing list,
	Xen developer discussion

The error paths of gntdev_mmap() can call unmap_grant_pages() even
though not all of the pages have been successfully mapped.  This will
trigger the WARN_ON()s in __unmap_grant_pages_done().  The number of
warnings can be very large; I have observed thousands of lines of
warnings in the systemd journal.

Avoid this problem by only warning on unmapping failure if the handle
being unmapped is not -1.  The handle field of any page that was not
successfully mapped will be -1, so this catches all cases wherr
unmapping can legitimately fail.

Suggested-by: Juergen Gross <jgross@suse.com>
Cc: stable@vger.kernel.org
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Fixes: 73e9e72247b9 ("xen/gntdev: Avoid blocking in unmap_grant_pages()")
---
 drivers/xen/gntdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index 492084814f55d8ed46d2d656db75b28a91dd7f06..27d955c5d9f9076266f77b9fedfa1a6a2ba08f56 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -416,7 +416,8 @@ static void __unmap_grant_pages_done(int result,
 	unsigned int offset = data->unmap_ops - map->unmap_ops;
 
 	for (i = 0; i < data->count; i++) {
-		WARN_ON(map->unmap_ops[offset+i].status);
+		WARN_ON(map->unmap_ops[offset+i].status &&
+			map->unmap_ops[offset+i].handle != -1);
 		pr_debug("unmap handle=%d st=%d\n",
 			map->unmap_ops[offset+i].handle,
 			map->unmap_ops[offset+i].status);
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4.14] Ignore failure to unmap -1
  2022-07-08 16:37 gntdev warning fixes Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH 4.19] Ignore failure to unmap -1 Demi Marie Obenour
@ 2022-07-08 16:37 ` Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH 5.4] " Demi Marie Obenour
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Demi Marie Obenour @ 2022-07-08 16:37 UTC (permalink / raw)
  To: Juergen Gross, Greg KH, Stefano Stabellini, Oleksandr Tyshchenko,
	Demi Marie Obenour
  Cc: Linux kernel regressions, stable, Linux kernel mailing list,
	Xen developer discussion

The error paths of gntdev_mmap() can call unmap_grant_pages() even
though not all of the pages have been successfully mapped.  This will
trigger the WARN_ON()s in __unmap_grant_pages_done().  The number of
warnings can be very large; I have observed thousands of lines of
warnings in the systemd journal.

Avoid this problem by only warning on unmapping failure if the handle
being unmapped is not -1.  The handle field of any page that was not
successfully mapped will be -1, so this catches all cases wherr
unmapping can legitimately fail.

Suggested-by: Juergen Gross <jgross@suse.com>
Cc: stable@vger.kernel.org
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Fixes: 2fe26a9a7048 ("xen/gntdev: Avoid blocking in unmap_grant_pages()")
---
 drivers/xen/gntdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index 2827015604fbaa45f0ca60c342bbf71ce4132dec..799173755b785e2f3e2483855f75af1eba8e9373 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -393,7 +393,8 @@ static void __unmap_grant_pages_done(int result,
 	unsigned int offset = data->unmap_ops - map->unmap_ops;
 
 	for (i = 0; i < data->count; i++) {
-		WARN_ON(map->unmap_ops[offset+i].status);
+		WARN_ON(map->unmap_ops[offset+i].status &&
+			map->unmap_ops[offset+i].handle != -1);
 		pr_debug("unmap handle=%d st=%d\n",
 			map->unmap_ops[offset+i].handle,
 			map->unmap_ops[offset+i].status);
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5.4] Ignore failure to unmap -1
  2022-07-08 16:37 gntdev warning fixes Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH 4.19] Ignore failure to unmap -1 Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH 4.14] " Demi Marie Obenour
@ 2022-07-08 16:37 ` Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH 5.10] " Demi Marie Obenour
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Demi Marie Obenour @ 2022-07-08 16:37 UTC (permalink / raw)
  To: Juergen Gross, Greg KH, Stefano Stabellini, Oleksandr Tyshchenko,
	Demi Marie Obenour
  Cc: Linux kernel regressions, stable, Linux kernel mailing list,
	Xen developer discussion

The error paths of gntdev_mmap() can call unmap_grant_pages() even
though not all of the pages have been successfully mapped.  This will
trigger the WARN_ON()s in __unmap_grant_pages_done().  The number of
warnings can be very large; I have observed thousands of lines of
warnings in the systemd journal.

Avoid this problem by only warning on unmapping failure if the handle
being unmapped is not -1.  The handle field of any page that was not
successfully mapped will be -1, so this catches all cases wherr
unmapping can legitimately fail.

Suggested-by: Juergen Gross <jgross@suse.com>
Cc: stable@vger.kernel.org
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Fixes: ee25841221c1 ("xen/gntdev: Avoid blocking in unmap_grant_pages()")
---
 drivers/xen/gntdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index f464793477650e631c8928e85c1990c5964c2e94..bba849e5d8a7b4d54925b842fbe3c6792e0f0214 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -413,7 +413,8 @@ static void __unmap_grant_pages_done(int result,
 	unsigned int offset = data->unmap_ops - map->unmap_ops;
 
 	for (i = 0; i < data->count; i++) {
-		WARN_ON(map->unmap_ops[offset+i].status);
+		WARN_ON(map->unmap_ops[offset+i].status &&
+			map->unmap_ops[offset+i].handle != -1);
 		pr_debug("unmap handle=%d st=%d\n",
 			map->unmap_ops[offset+i].handle,
 			map->unmap_ops[offset+i].status);
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5.10] Ignore failure to unmap -1
  2022-07-08 16:37 gntdev warning fixes Demi Marie Obenour
                   ` (2 preceding siblings ...)
  2022-07-08 16:37 ` [PATCH 5.4] " Demi Marie Obenour
@ 2022-07-08 16:37 ` Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH 5.15] Ignore failure to unmap INVALID_GRANT_HANDLE Demi Marie Obenour
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Demi Marie Obenour @ 2022-07-08 16:37 UTC (permalink / raw)
  To: Juergen Gross, Greg KH, Stefano Stabellini, Oleksandr Tyshchenko,
	Demi Marie Obenour
  Cc: Linux kernel regressions, stable, Linux kernel mailing list,
	Xen developer discussion

The error paths of gntdev_mmap() can call unmap_grant_pages() even
though not all of the pages have been successfully mapped.  This will
trigger the WARN_ON()s in __unmap_grant_pages_done().  The number of
warnings can be very large; I have observed thousands of lines of
warnings in the systemd journal.

Avoid this problem by only warning on unmapping failure if the handle
being unmapped is not -1.  The handle field of any page that was not
successfully mapped will be -1, so this catches all cases where
unmapping can legitimately fail.

Suggested-by: Juergen Gross <jgross@suse.com>
Cc: stable@vger.kernel.org
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Fixes: 79963021fd71 ("xen/gntdev: Avoid blocking in unmap_grant_pages()")
---
 drivers/xen/gntdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index f415c056ff8ab8d808ee2bacfaa3cad57af28204..54fee4087bf1078803c230ad2081aafa8415cf53 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -401,7 +401,8 @@ static void __unmap_grant_pages_done(int result,
 	unsigned int offset = data->unmap_ops - map->unmap_ops;
 
 	for (i = 0; i < data->count; i++) {
-		WARN_ON(map->unmap_ops[offset+i].status);
+		WARN_ON(map->unmap_ops[offset+i].status &&
+			map->unmap_ops[offset+i].handle != -1);
 		pr_debug("unmap handle=%d st=%d\n",
 			map->unmap_ops[offset+i].handle,
 			map->unmap_ops[offset+i].status);
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5.15] Ignore failure to unmap INVALID_GRANT_HANDLE
  2022-07-08 16:37 gntdev warning fixes Demi Marie Obenour
                   ` (3 preceding siblings ...)
  2022-07-08 16:37 ` [PATCH 5.10] " Demi Marie Obenour
@ 2022-07-08 16:37 ` Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH 5.18] " Demi Marie Obenour
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Demi Marie Obenour @ 2022-07-08 16:37 UTC (permalink / raw)
  To: Juergen Gross, Greg KH, Stefano Stabellini, Oleksandr Tyshchenko,
	Demi Marie Obenour
  Cc: Linux kernel regressions, stable, Linux kernel mailing list,
	Xen developer discussion

The error paths of gntdev_mmap() can call unmap_grant_pages() even
though not all of the pages have been successfully mapped.  This will
trigger the WARN_ON()s in __unmap_grant_pages_done().  The number of
warnings can be very large; I have observed thousands of lines of
warnings in the systemd journal.

Avoid this problem by only warning on unmapping failure if the handle
being unmapped is not INVALID_GRANT_HANDLE.  The handle field of any
page that was not successfully mapped will be INVALID_GRANT_HANDLE, so
this catches all cases where unmapping can legitimately fail.

Suggested-by: Juergen Gross <jgross@suse.com>
Cc: stable@vger.kernel.org
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Fixes: 87a54feba68f ("xen/gntdev: Avoid blocking in unmap_grant_pages()")
---
 drivers/xen/gntdev.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index 4b56c39f766d4da68570d08d963f6ef40c8d9c37..22fcd503f4a4487d0aed147c94f432683dad8c73 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -396,13 +396,17 @@ static void __unmap_grant_pages_done(int result,
 	unsigned int offset = data->unmap_ops - map->unmap_ops;
 
 	for (i = 0; i < data->count; i++) {
-		WARN_ON(map->unmap_ops[offset+i].status);
+		WARN_ON(map->unmap_ops[offset+i].status &&
+			map->unmap_ops[offset+i].handle !=
+			INVALID_GRANT_HANDLE);
 		pr_debug("unmap handle=%d st=%d\n",
 			map->unmap_ops[offset+i].handle,
 			map->unmap_ops[offset+i].status);
 		map->unmap_ops[offset+i].handle = INVALID_GRANT_HANDLE;
 		if (use_ptemod) {
-			WARN_ON(map->kunmap_ops[offset+i].status);
+			WARN_ON(map->kunmap_ops[offset+i].status &&
+				map->kunmap_ops[offset+i].handle !=
+				INVALID_GRANT_HANDLE);
 			pr_debug("kunmap handle=%u st=%d\n",
 				 map->kunmap_ops[offset+i].handle,
 				 map->kunmap_ops[offset+i].status);
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5.18] Ignore failure to unmap INVALID_GRANT_HANDLE
  2022-07-08 16:37 gntdev warning fixes Demi Marie Obenour
                   ` (4 preceding siblings ...)
  2022-07-08 16:37 ` [PATCH 5.15] Ignore failure to unmap INVALID_GRANT_HANDLE Demi Marie Obenour
@ 2022-07-08 16:37 ` Demi Marie Obenour
  2022-07-08 16:37 ` [PATCH master] " Demi Marie Obenour
  2022-07-09  6:34 ` gntdev warning fixes Greg KH
  7 siblings, 0 replies; 10+ messages in thread
From: Demi Marie Obenour @ 2022-07-08 16:37 UTC (permalink / raw)
  To: Juergen Gross, Greg KH, Stefano Stabellini, Oleksandr Tyshchenko,
	Demi Marie Obenour
  Cc: Linux kernel regressions, stable, Linux kernel mailing list,
	Xen developer discussion

The error paths of gntdev_mmap() can call unmap_grant_pages() even
though not all of the pages have been successfully mapped.  This will
trigger the WARN_ON()s in __unmap_grant_pages_done().  The number of
warnings can be very large; I have observed thousands of lines of
warnings in the systemd journal.

Avoid this problem by only warning on unmapping failure if the handle
being unmapped is not INVALID_GRANT_HANDLE.  The handle field of any
page that was not successfully mapped will be INVALID_GRANT_HANDLE, so
this catches all cases where unmapping can legitimately fail.

Suggested-by: Juergen Gross <jgross@suse.com>
Cc: stable@vger.kernel.org
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Fixes: d4a49d20cd7c ("xen/gntdev: Avoid blocking in unmap_grant_pages()")
---
 drivers/xen/gntdev.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index 4b56c39f766d4da68570d08d963f6ef40c8d9c37..22fcd503f4a4487d0aed147c94f432683dad8c73 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -396,13 +396,17 @@ static void __unmap_grant_pages_done(int result,
 	unsigned int offset = data->unmap_ops - map->unmap_ops;
 
 	for (i = 0; i < data->count; i++) {
-		WARN_ON(map->unmap_ops[offset+i].status);
+		WARN_ON(map->unmap_ops[offset+i].status &&
+			map->unmap_ops[offset+i].handle !=
+			INVALID_GRANT_HANDLE);
 		pr_debug("unmap handle=%d st=%d\n",
 			map->unmap_ops[offset+i].handle,
 			map->unmap_ops[offset+i].status);
 		map->unmap_ops[offset+i].handle = INVALID_GRANT_HANDLE;
 		if (use_ptemod) {
-			WARN_ON(map->kunmap_ops[offset+i].status);
+			WARN_ON(map->kunmap_ops[offset+i].status &&
+				map->kunmap_ops[offset+i].handle !=
+				INVALID_GRANT_HANDLE);
 			pr_debug("kunmap handle=%u st=%d\n",
 				 map->kunmap_ops[offset+i].handle,
 				 map->kunmap_ops[offset+i].status);
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH master] Ignore failure to unmap INVALID_GRANT_HANDLE
  2022-07-08 16:37 gntdev warning fixes Demi Marie Obenour
                   ` (5 preceding siblings ...)
  2022-07-08 16:37 ` [PATCH 5.18] " Demi Marie Obenour
@ 2022-07-08 16:37 ` Demi Marie Obenour
  2022-07-10 19:19   ` Oleksandr Tyshchenko
  2022-07-09  6:34 ` gntdev warning fixes Greg KH
  7 siblings, 1 reply; 10+ messages in thread
From: Demi Marie Obenour @ 2022-07-08 16:37 UTC (permalink / raw)
  To: Juergen Gross, Greg KH, Stefano Stabellini, Oleksandr Tyshchenko,
	Demi Marie Obenour
  Cc: Linux kernel regressions, stable, Linux kernel mailing list,
	Xen developer discussion

The error paths of gntdev_mmap() can call unmap_grant_pages() even
though not all of the pages have been successfully mapped.  This will
trigger the WARN_ON()s in __unmap_grant_pages_done().  The number of
warnings can be very large; I have observed thousands of lines of
warnings in the systemd journal.

Avoid this problem by only warning on unmapping failure if the handle
being unmapped is not INVALID_GRANT_HANDLE.  The handle field of any
page that was not successfully mapped will be INVALID_GRANT_HANDLE, so
this catches all cases where unmapping can legitimately fail.

Suggested-by: Juergen Gross <jgross@suse.com>
Cc: stable@vger.kernel.org
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Fixes: dbe97cff7dd9 ("xen/gntdev: Avoid blocking in unmap_grant_pages()")
---
 drivers/xen/gntdev.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index 4b56c39f766d4da68570d08d963f6ef40c8d9c37..22fcd503f4a4487d0aed147c94f432683dad8c73 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -396,13 +396,17 @@ static void __unmap_grant_pages_done(int result,
 	unsigned int offset = data->unmap_ops - map->unmap_ops;
 
 	for (i = 0; i < data->count; i++) {
-		WARN_ON(map->unmap_ops[offset+i].status);
+		WARN_ON(map->unmap_ops[offset+i].status &&
+			map->unmap_ops[offset+i].handle !=
+			INVALID_GRANT_HANDLE);
 		pr_debug("unmap handle=%d st=%d\n",
 			map->unmap_ops[offset+i].handle,
 			map->unmap_ops[offset+i].status);
 		map->unmap_ops[offset+i].handle = INVALID_GRANT_HANDLE;
 		if (use_ptemod) {
-			WARN_ON(map->kunmap_ops[offset+i].status);
+			WARN_ON(map->kunmap_ops[offset+i].status &&
+				map->kunmap_ops[offset+i].handle !=
+				INVALID_GRANT_HANDLE);
 			pr_debug("kunmap handle=%u st=%d\n",
 				 map->kunmap_ops[offset+i].handle,
 				 map->kunmap_ops[offset+i].status);
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: gntdev warning fixes
  2022-07-08 16:37 gntdev warning fixes Demi Marie Obenour
                   ` (6 preceding siblings ...)
  2022-07-08 16:37 ` [PATCH master] " Demi Marie Obenour
@ 2022-07-09  6:34 ` Greg KH
  7 siblings, 0 replies; 10+ messages in thread
From: Greg KH @ 2022-07-09  6:34 UTC (permalink / raw)
  To: Demi Marie Obenour
  Cc: Juergen Gross, Linux kernel regressions, stable,
	Linux kernel mailing list, Xen developer discussion

On Fri, Jul 08, 2022 at 12:37:44PM -0400, Demi Marie Obenour wrote:
> The recent gntdev fixes introduced two incorrect WARN_ON()s, which
> triggered immediately on my system.  Patches for master and all
> supported stable versions follow.
> 
> 

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read:
    https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH master] Ignore failure to unmap INVALID_GRANT_HANDLE
  2022-07-08 16:37 ` [PATCH master] " Demi Marie Obenour
@ 2022-07-10 19:19   ` Oleksandr Tyshchenko
  0 siblings, 0 replies; 10+ messages in thread
From: Oleksandr Tyshchenko @ 2022-07-10 19:19 UTC (permalink / raw)
  To: Demi Marie Obenour
  Cc: Linux kernel regressions, stable, Greg KH,
	Linux kernel mailing list, Xen developer discussion,
	Stefano Stabellini, Juergen Gross


On 08.07.22 19:37, Demi Marie Obenour wrote:

Hello Demi Marie


Please add subsystem to the commit subject, for example "xen/gntdev:".


> The error paths of gntdev_mmap() can call unmap_grant_pages() even
> though not all of the pages have been successfully mapped.  This will
> trigger the WARN_ON()s in __unmap_grant_pages_done().  The number of
> warnings can be very large; I have observed thousands of lines of
> warnings in the systemd journal.
>
> Avoid this problem by only warning on unmapping failure if the handle
> being unmapped is not INVALID_GRANT_HANDLE.  The handle field of any
> page that was not successfully mapped will be INVALID_GRANT_HANDLE, so
> this catches all cases where unmapping can legitimately fail.
>
> Suggested-by: Juergen Gross <jgross@suse.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> Fixes: dbe97cff7dd9 ("xen/gntdev: Avoid blocking in unmap_grant_pages()")
> ---
>   drivers/xen/gntdev.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
> index 4b56c39f766d4da68570d08d963f6ef40c8d9c37..22fcd503f4a4487d0aed147c94f432683dad8c73 100644
> --- a/drivers/xen/gntdev.c
> +++ b/drivers/xen/gntdev.c
> @@ -396,13 +396,17 @@ static void __unmap_grant_pages_done(int result,
>   	unsigned int offset = data->unmap_ops - map->unmap_ops;
>   
>   	for (i = 0; i < data->count; i++) {
> -		WARN_ON(map->unmap_ops[offset+i].status);
> +		WARN_ON(map->unmap_ops[offset+i].status &&
> +			map->unmap_ops[offset+i].handle !=
> +			INVALID_GRANT_HANDLE);


Nit: While extending the check I would clarify the first half of it: 
"map->unmap_ops[offset+i].status != GNTST_okay"


>   		pr_debug("unmap handle=%d st=%d\n",
>   			map->unmap_ops[offset+i].handle,
>   			map->unmap_ops[offset+i].status);
>   		map->unmap_ops[offset+i].handle = INVALID_GRANT_HANDLE;
>   		if (use_ptemod) {
> -			WARN_ON(map->kunmap_ops[offset+i].status);
> +			WARN_ON(map->kunmap_ops[offset+i].status &&
> +				map->kunmap_ops[offset+i].handle !=
> +				INVALID_GRANT_HANDLE);

ditto



With updated subject:

Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>


>   			pr_debug("kunmap handle=%u st=%d\n",
>   				 map->kunmap_ops[offset+i].handle,
>   				 map->kunmap_ops[offset+i].status);

-- 
Regards,

Oleksandr Tyshchenko

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-07-11  4:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-08 16:37 gntdev warning fixes Demi Marie Obenour
2022-07-08 16:37 ` [PATCH 4.19] Ignore failure to unmap -1 Demi Marie Obenour
2022-07-08 16:37 ` [PATCH 4.14] " Demi Marie Obenour
2022-07-08 16:37 ` [PATCH 5.4] " Demi Marie Obenour
2022-07-08 16:37 ` [PATCH 5.10] " Demi Marie Obenour
2022-07-08 16:37 ` [PATCH 5.15] Ignore failure to unmap INVALID_GRANT_HANDLE Demi Marie Obenour
2022-07-08 16:37 ` [PATCH 5.18] " Demi Marie Obenour
2022-07-08 16:37 ` [PATCH master] " Demi Marie Obenour
2022-07-10 19:19   ` Oleksandr Tyshchenko
2022-07-09  6:34 ` gntdev warning fixes Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.