Author: maks-guest Date: Mon Nov 27 13:10:04 2006 New Revision: 7893 Added: dists/sid/linux-2.6/debian/patches/bugfix/fs-hfs-mokb.patch dists/sid/linux-2.6/debian/patches/bugfix/sata-promise-null-deref.patch dists/sid/linux-2.6/debian/patches/features/fs-cifs_getattr-preferred-iosize.patch Modified: dists/sid/linux-2.6/debian/changelog dists/sid/linux-2.6/debian/patches/series/7 Log: sync with fedora 2.6.18 fixes
Modified: dists/sid/linux-2.6/debian/changelog ============================================================================== --- dists/sid/linux-2.6/debian/changelog (original) +++ dists/sid/linux-2.6/debian/changelog Mon Nov 27 13:10:04 2006 @@ -10,7 +10,12 @@ * rtc: Add patch from Riku Voipio to get RS5C372 going on the N2100. * arm/iop32x: Build RS5C372 support into the kernel. - -- Bastian Blank <[EMAIL PROTECTED]> Sun, 26 Nov 2006 10:39:33 +0100 + [ maximilian attems ] + * hfs: Fix up error handling in HFS. (MOKB-14-11-2006) + * sata: Avoid null pointer dereference in SATA Promise. + * cifs: Set CIFS preferred IO size. + + -- maximilian attems <[EMAIL PROTECTED]> Mon, 27 Nov 2006 13:07:58 +0100 linux-2.6 (2.6.18-6) unstable; urgency=low Added: dists/sid/linux-2.6/debian/patches/bugfix/fs-hfs-mokb.patch ============================================================================== --- (empty file) +++ dists/sid/linux-2.6/debian/patches/bugfix/fs-hfs-mokb.patch Mon Nov 27 13:10:04 2006 @@ -0,0 +1,47 @@ + +http://kernelfun.blogspot.com/2006/11/mokb-14-11-2006-linux-26x-selinux.html + +mount that image... +fs: filesystem was not cleanly unmounted, running fsck.hfs is recommended. mounting read-only. +hfs: get root inode failed. +BUG: unable to handle kernel NULL pointer dereference at virtual address 00000018 + printing eip +... +EIP is at superblock_doinit+0x21/0x767 +... + [] selinux_sb_kern_mount+0xc/0x4b + [] vfs_kern_mount+0x99/0xf6 + [] do_kern_mount+0x2d/0x3e + [] do_mount+0x5fa/0x66d + [] sys_mount+0x77/0xae + [] syscall_call+0x7/0xb +DWARF2 unwinder stuck at syscall_call+0x7/0xb + +hfs_fill_super() returns success even if + root_inode = hfs_iget(sb, &fd.search_key->cat, &rec); +or + sb->s_root = d_alloc_root(root_inode); + +fails. This superblock finds its way to superblock_doinit() which does: + + struct dentry *root = sb->s_root; + struct inode *inode = root->d_inode; + +and boom. Need to make sure the error cases return an error, I think. + +Signed-off-by: Eric Sandeen <[EMAIL PROTECTED]> + +Index: linux-2.6.18/fs/hfs/super.c +=================================================================== +--- linux-2.6.18.orig/fs/hfs/super.c ++++ linux-2.6.18/fs/hfs/super.c +@@ -391,6 +391,7 @@ static int hfs_fill_super(struct super_b + hfs_find_exit(&fd); + goto bail_no_root; + } ++ res = -EINVAL; + root_inode = hfs_iget(sb, &fd.search_key->cat, &rec); + hfs_find_exit(&fd); + if (!root_inode) + + Added: dists/sid/linux-2.6/debian/patches/bugfix/sata-promise-null-deref.patch ============================================================================== --- (empty file) +++ dists/sid/linux-2.6/debian/patches/bugfix/sata-promise-null-deref.patch Mon Nov 27 13:10:04 2006 @@ -0,0 +1,20 @@ +--- a/drivers/scsi/sata_promise.c~ 2006-11-13 22:09:22.000000000 -0500 ++++ a/drivers/scsi/sata_promise.c 2006-11-13 22:18:06.000000000 -0500 +@@ -412,7 +412,7 @@ + + static u32 pdc_sata_scr_read (struct ata_port *ap, unsigned int sc_reg) + { +- if (sc_reg > SCR_CONTROL) ++ if ((sc_reg > SCR_CONTROL) || (ap->flags & ATA_FLAG_SLAVE_POSS)) + return 0xffffffffU; + return readl((void __iomem *) ap->ioaddr.scr_addr + (sc_reg * 4)); + } +@@ -421,7 +421,7 @@ + static void pdc_sata_scr_write (struct ata_port *ap, unsigned int sc_reg, + u32 val) + { +- if (sc_reg > SCR_CONTROL) ++ if ((sc_reg > SCR_CONTROL) || (ap->flags & ATA_FLAG_SLAVE_POSS)) + return; + writel(val, (void __iomem *) ap->ioaddr.scr_addr + (sc_reg * 4)); + } Added: dists/sid/linux-2.6/debian/patches/features/fs-cifs_getattr-preferred-iosize.patch ============================================================================== --- (empty file) +++ dists/sid/linux-2.6/debian/patches/features/fs-cifs_getattr-preferred-iosize.patch Mon Nov 27 13:10:04 2006 @@ -0,0 +1,40 @@ + +For Bug 214607: [RHEL5 / FC6] - update cifs_getattr to set preferred IO size + +Thanks, + +-Eric + +--- + +GIT 5fe14c851efedf95b0e7652a3a7b93ec899d1599 git+ssh://master.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git + +commit +Author: Steve French <[EMAIL PROTECTED]> +Date: Tue Nov 7 19:26:33 2006 +0000 + + [CIFS] Explicitly set stat->blksize + + CIFS may perform I/O over the network in larger chunks than the page size, + so it should explicitly set stat->blksize to ensure optimal I/O bandwidth + + Signed-off-by: Dave Kleikamp <[EMAIL PROTECTED]> + Signed-off-by: Steve French <[EMAIL PROTECTED]> + +Index: linux-2.6.18-1.2732.el5/fs/cifs/inode.c +=================================================================== +--- linux-2.6.18-1.2732.el5.orig/fs/cifs/inode.c ++++ linux-2.6.18-1.2732.el5/fs/cifs/inode.c +@@ -1080,8 +1080,10 @@ int cifs_getattr(struct vfsmount *mnt, s + struct kstat *stat) + { + int err = cifs_revalidate(dentry); +- if (!err) ++ if (!err) { + generic_fillattr(dentry->d_inode, stat); ++ stat->blksize = CIFS_MAX_MSGSIZE; ++ } + return err; + } + + Modified: dists/sid/linux-2.6/debian/patches/series/7 ============================================================================== --- dists/sid/linux-2.6/debian/patches/series/7 (original) +++ dists/sid/linux-2.6/debian/patches/series/7 Mon Nov 27 13:10:04 2006 @@ -1 +1,4 @@ + bugfix/rtc-rs5c372.patch ++ features/fs-cifs_getattr-preferred-iosize.patch ++ bugfix/fs-hfs-mokb.patch ++ bugfix/sata-promise-null-deref.patch _______________________________________________ Kernel-svn-changes mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/kernel-svn-changes

