From 69e69cd0622766c6e71dc0e4d61e3c462a262b74 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 26 Mar 2013 11:42:18 -0700 Subject: [PATCH] 3.0-stable patches added patches: udf-fix-bitmap-overflow-on-large-filesystems-with-small-block-size.patch --- queue-3.0/series | 1 + ...ge-filesystems-with-small-block-size.patch | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 queue-3.0/udf-fix-bitmap-overflow-on-large-filesystems-with-small-block-size.patch diff --git a/queue-3.0/series b/queue-3.0/series index 52e9bd2d93e..72e19f43177 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -36,3 +36,4 @@ clockevents-don-t-allow-dummy-broadcast-timers.patch x86-64-fix-the-failure-case-in-copy_user_handle_tail.patch usb-xhci-fix-bit-definitions-for-iman-register.patch usb-serial-fix-interface-refcounting.patch +udf-fix-bitmap-overflow-on-large-filesystems-with-small-block-size.patch diff --git a/queue-3.0/udf-fix-bitmap-overflow-on-large-filesystems-with-small-block-size.patch b/queue-3.0/udf-fix-bitmap-overflow-on-large-filesystems-with-small-block-size.patch new file mode 100644 index 00000000000..7b6793a2d73 --- /dev/null +++ b/queue-3.0/udf-fix-bitmap-overflow-on-large-filesystems-with-small-block-size.patch @@ -0,0 +1,38 @@ +From 89b1f39eb4189de745fae554b0d614d87c8d5c63 Mon Sep 17 00:00:00 2001 +From: Jan Kara +Date: Tue, 5 Feb 2013 13:59:56 +0100 +Subject: udf: Fix bitmap overflow on large filesystems with small block size + +From: Jan Kara + +commit 89b1f39eb4189de745fae554b0d614d87c8d5c63 upstream. + +For large UDF filesystems with 512-byte blocks the number of necessary +bitmap blocks is larger than 2^16 so s_nr_groups in udf_bitmap overflows +(the number will overflow for filesystems larger than 128 GB with +512-byte blocks). That results in ENOSPC errors despite the filesystem +has plenty of free space. + +Fix the problem by changing s_nr_groups' type to 'int'. That is enough +even for filesystems 2^32 blocks (UDF maximum) and 512-byte blocksize. + +Reported-and-tested-by: v10lator@myway.de +Signed-off-by: Jan Kara +Cc: Jim Trigg +Signed-off-by: Greg Kroah-Hartman + +--- + fs/udf/udf_sb.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/fs/udf/udf_sb.h ++++ b/fs/udf/udf_sb.h +@@ -79,7 +79,7 @@ struct udf_virtual_data { + struct udf_bitmap { + __u32 s_extLength; + __u32 s_extPosition; +- __u16 s_nr_groups; ++ int s_nr_groups; + struct buffer_head **s_block_bitmap; + }; + -- 2.47.3