public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drivers/xen/grant-table.c: Be sure of unsigned value never comparing with 0
@ 2014-08-26 15:38 Chen Gang
  2014-08-26 17:03 ` David Vrabel
  0 siblings, 1 reply; 5+ messages in thread
From: Chen Gang @ 2014-08-26 15:38 UTC (permalink / raw)
  To: konrad.wilk, boris.ostrovsky, david.vrabel
  Cc: xen-devel, linux-kernel@vger.kernel.org

In grow_gnttab_list(), 'i' is 'unsigned int', and 'nr_glist_frames' may
be 0 because 'nr_grant_frames' may be 0. So 'i' may never be less than
'nr_glist_frames' in failure processing, which cause infinite looping.

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
 drivers/xen/grant-table.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
index c254ae0..be07645 100644
--- a/drivers/xen/grant-table.c
+++ b/drivers/xen/grant-table.c
@@ -592,8 +592,8 @@ static int grow_gnttab_list(unsigned int more_frames)
 	return 0;
 
 grow_nomem:
-	for ( ; i >= nr_glist_frames; i--)
-		free_page((unsigned long) gnttab_list[i]);
+	while (i > nr_glist_frames)
+		free_page((unsigned long) gnttab_list[--i]);
 	return -ENOMEM;
 }
 
-- 
1.9.3

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

end of thread, other threads:[~2014-08-27 10:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-26 15:38 [PATCH] drivers/xen/grant-table.c: Be sure of unsigned value never comparing with 0 Chen Gang
2014-08-26 17:03 ` David Vrabel
2014-08-26 19:42   ` Chen Gang
2014-08-27 10:06     ` David Vrabel
2014-08-27 10:27       ` Chen Gang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox