[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070708173346.GA4167@gentoox2.trippelsdorf.de>
Date: Sun, 8 Jul 2007 19:33:46 +0200
From: Markus Trippelsdorf <markus@...ppelsdorf.de>
To: Ulrich Drepper <drepper@...hat.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, torvalds@...ux-foundation.org
Subject: Re: 2.6.22-rc6(mm1) Unable to handle kernel NULL pointer
dereference - git-bisect result
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@...hat.com>
>
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists