kernel: add a patch to fix a NULL pointer deref in unionfs setattr.

--HG--
branch : gnome3
This commit is contained in:
Juan RP 2011-03-29 11:45:20 +02:00
parent 1649be60cd
commit b1c55d9772
3 changed files with 28 additions and 1 deletions

View file

@ -0,0 +1,2 @@
unionfs-2.5.8_for_2.6.38-rc7.diff.gz
unionfs-2.5.8-setattr-fixes.patch

View file

@ -0,0 +1,25 @@
Adapted for 2.6.38 from http://www.fsl.cs.sunysb.edu/pipermail/unionfs/2011-March/006088.html
--- fs/unionfs/inode.c.orig 2011-03-29 09:19:23.477166008 +0200
+++ fs/unionfs/inode.c 2011-03-29 09:22:02.267303281 +0200
@@ -936,7 +936,8 @@ static int unionfs_setattr(struct dentry
err = -EINVAL;
goto out;
}
- lower_inode = unionfs_lower_inode(inode);
+ lower_inode = lower_dentry->d_inode;
+ BUG_ON(!lower_inode);
/* check if user has permission to change lower inode */
err = inode_change_ok(lower_inode, ia);
@@ -970,7 +971,9 @@ static int unionfs_setattr(struct dentry
goto out;
/* get updated lower_dentry/inode after copyup */
lower_dentry = unionfs_lower_dentry(dentry);
- lower_inode = unionfs_lower_inode(inode);
+ BUG_ON(!lower_inode);
+ lower_inode = lower_dentry->d_inode;
+ BUG_ON(!lower_inode);
}
/*

View file

@ -11,7 +11,7 @@ triggers="initramfs-tools"
nostrip=yes nostrip=yes
noverifyrdeps=yes noverifyrdeps=yes
preserve=yes preserve=yes
#revision=1 revision=1
_kernel_headers_revision=${revision} _kernel_headers_revision=${revision}
if [ -n "${revision}" ]; then if [ -n "${revision}" ]; then
_kernver="${version}_${revision}" _kernver="${version}_${revision}"