From: Sunil Mushran Date: Fri, 4 Sep 2009 18:12:01 +0000 (-0700) Subject: ocfs2: ocfs2_write_begin_nolock() should handle len=0 X-Git-Tag: v2.6.30.6~1 X-Git-Url: https://git.fsl.cs.sunysb.edu/?a=commitdiff_plain;h=e38d22518cad8f3e1805bf17482b8bd2a5ec7de0;p=unionfs-2.6.39.y.git ocfs2: ocfs2_write_begin_nolock() should handle len=0 commit 8379e7c46cc48f51197dd663fc6676f47f2a1e71 upstream. Bug introduced by mainline commit e7432675f8ca868a4af365759a8d4c3779a3d922 The bug causes ocfs2_write_begin_nolock() to oops when len=0. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index 122fb7978f6..044990a4785 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c @@ -1746,8 +1746,8 @@ int ocfs2_write_begin_nolock(struct address_space *mapping, * we know zeros will only be needed in the first and/or last cluster. */ if (clusters_to_alloc || extents_to_split || - wc->w_desc[0].c_needs_zero || - wc->w_desc[wc->w_clen - 1].c_needs_zero) + (wc->w_clen && (wc->w_desc[0].c_needs_zero || + wc->w_desc[wc->w_clen - 1].c_needs_zero))) cluster_of_pages = 1; else cluster_of_pages = 0;