diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-07-21 15:05:13 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2009-07-21 15:05:13 +0000 |
commit | 1ee4f5841632863bd85738bf7fc87c6dbf401090 (patch) | |
tree | 8b4e06d72c616f7a8d7c5af5f7ad1dc2a0406d4b /target/linux/generic-2.6/patches-2.6.30/066-rootfs_split_squashfs4_fix.patch | |
parent | 349a74df5340f3453a88d6335f4ca481a7a47328 (diff) | |
download | upstream-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.patch | 27 |
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); |