Messages in this thread Patch in this message | | | From | David Howells <> | Subject | Re: [PATCH] Bug in fs/afs/write.c function afs_write_back_from_locked_page() | Date | Thu, 10 May 2007 13:35:24 +0100 |
| |
David Howells <dhowells@redhat.com> wrote:
> How about the attached instead?
Blech. How about this instead? I forgot to remove the extra put_page() you added.
David --- AFS: Fix interminable loop in afs_write_back_from_locked_page()
From: Mika Kukkonen <mikukkon@miku.homelinux.net>
Following bug was uncovered by compiling with '-W' flag:
CC [M] fs/afs/write.o fs/afs/write.c: In function ‘afs_write_back_from_locked_page’: fs/afs/write.c:398: warning: comparison of unsigned expression >= 0 is always true
Loop variable 'n' is unsigned, so wraps around happily as far as I can see. Trival fix attached (compile tested only).
Signed-Off-By: Mika Kukkonen <mikukkon@iki.fi> Signed-off-by: David Howells <dhowells@redhat.com> ---
fs/afs/write.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/afs/write.c b/fs/afs/write.c index 67ae4db..28f3751 100644 --- a/fs/afs/write.c +++ b/fs/afs/write.c @@ -395,8 +395,9 @@ static int afs_write_back_from_locked_page(struct afs_writeback *wb, if (n == 0) goto no_more; if (pages[0]->index != start) { - for (n--; n >= 0; n--) - put_page(pages[n]); + do { + put_page(pages[--n]); + } while (n > 0); goto no_more; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |