aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic-2.6/patches-2.6.30/066-rootfs_split_squashfs4_fix.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-07-21 15:05:13 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-07-21 15:05:13 +0000
commit1ee4f5841632863bd85738bf7fc87c6dbf401090 (patch)
tree8b4e06d72c616f7a8d7c5af5f7ad1dc2a0406d4b /target/linux/generic-2.6/patches-2.6.30/066-rootfs_split_squashfs4_fix.patch
parent349a74df5340f3453a88d6335f4ca481a7a47328 (diff)
downloadupstream-1ee4f5841632863bd85738bf7fc87c6dbf401090.tar.gz
upstream-1ee4f5841632863bd85738bf7fc87c6dbf401090.tar.bz2
upstream-1ee4f5841632863bd85738bf7fc87c6dbf401090.zip
fix a >2 year old stack overflow in the mtd rootfs split patch which only caused issues on the orion platform on 2.6.30.
also merge the squashfs4 fix into the rootfs split patch git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16944 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.30/066-rootfs_split_squashfs4_fix.patch')
-rw-r--r--target/linux/generic-2.6/patches-2.6.30/066-rootfs_split_squashfs4_fix.patch27
1 files changed, 0 insertions, 27 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.30/066-rootfs_split_squashfs4_fix.patch b/target/linux/generic-2.6/patches-2.6.30/066-rootfs_split_squashfs4_fix.patch
deleted file mode 100644
index a968a57fac..0000000000
--- a/target/linux/generic-2.6/patches-2.6.30/066-rootfs_split_squashfs4_fix.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- a/drivers/mtd/mtdpart.c
-+++ b/drivers/mtd/mtdpart.c
-@@ -538,21 +538,21 @@ static int split_squashfs(struct mtd_inf
- return -EINVAL;
- }
-
-- if (*((u32 *) buf) != SQUASHFS_MAGIC) {
-+ if (SQUASHFS_MAGIC != le32_to_cpu(sb->s_magic) ) {
- printk(KERN_ALERT "split_squashfs: no squashfs found in \"%s\"\n",
- master->name);
- *split_offset = 0;
- return 0;
- }
-
-- if (sb->bytes_used <= 0) {
-+ if (le64_to_cpu((sb->bytes_used)) <= 0) {
- printk(KERN_ALERT "split_squashfs: squashfs is empty in \"%s\"\n",
- master->name);
- *split_offset = 0;
- return 0;
- }
-
-- len = (u32) sb->bytes_used;
-+ len = (u32) le64_to_cpu(sb->bytes_used);
- len += (offset & 0x000fffff);
- len += (master->erasesize - 1);
- len &= ~(master->erasesize - 1);