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

From: Linus Torvalds
Date: Sun Jul 08 2007 - 13:03:14 EST




On Sun, 8 Jul 2007, 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.

git-bisect is wonderful.

> gentoox2 linux # git bisect bad
> 1c710c896eb461895d3c399e15bb5f20b39c9073 is first bad commit
> commit 1c710c896eb461895d3c399e15bb5f20b39c9073
> Author: Ulrich Drepper <drepper@xxxxxxxxxx>

Ok, I see what's wrong.

We're doing "vfs_permission()" and passing in "nd" to it when "times" is
NULL, but Uli didn't even *initialize* it for the case of

filename == NULL && dfd != AT_FDCWD

so yeah, it's broken.

I was planning on doing 2.6.22 today, so I'm actually inclined to revert
the commit entirely, even though it looks like it's probably fairly
trivial to fix.

But if we get a really quick and obvious fix, I guess I'll apply it. I
have to say, the new do_utimes() code is pretty ugly compared to the old
one exactly in the added special cases (the ones that caused this bug..)

Uli?

Linus
-
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/