Re: 2.6.22-rc6(mm1) Unable to handle kernel NULL pointerdereference - git-bisect result

From: Markus Trippelsdorf
Date: Sun Jul 08 2007 - 13:37:35 EST


On Sun, Jul 08, 2007 at 10:06:43AM -0700, Ulrich Drepper wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Markus Trippelsdorf wrote:
> > I tested this further and it turned out that the Linus tree is also
> > affected. So I ran git-bisect, after I found out that version
> > 2.6.21.6 was not affected by this bug.
>
> Try this patch. The vfs_permission test can be skipped since the VFS
> isn't involved. We got the inode etc from a file descriptor.
>
>
> Signed-Off-By: Ulrich Drepper <drepper@xxxxxxxxxx>
>
> diff --git a/fs/utimes.c b/fs/utimes.c
> index 480f7c8..873edcb 100644
> - --- a/fs/utimes.c
> +++ b/fs/utimes.c
> @@ -106,7 +106,8 @@ long do_utimes(int dfd, char __user *filename, struct timespec *times, int flags
> if (IS_IMMUTABLE(inode))
> goto dput_and_out;
>
> - - if (current->fsuid != inode->i_uid &&
> + if (f == NULL &&
> + current->fsuid != inode->i_uid &&
> (error = vfs_permission(&nd, MAY_WRITE)) != 0)
> goto dput_and_out;
> }
>
>

I had to hand apply the patch, but it solved the problem.
Thanks.
--
Markus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/