Re: v2.6.28-rc1: readlink /proc/*/exe returns uninitialized datato userspace

From: Ingo Molnar
Date: Thu Nov 06 2008 - 05:04:38 EST



* Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:

> On Tue, Nov 04, 2008 at 10:39:19AM +0100, Vegard Nossum wrote:
> > On Sun, Oct 26, 2008 at 10:08 PM, Vegard Nossum <vegard.nossum@xxxxxxxxx> wrote:
> > # uname -a
> > Linux localhost.localdomain 2.6.25.11-97.fc9.i686 #1 SMP Mon Jul 21
> > 01:31:09 EDT 2008 i686 i686 i386 GNU/Linux
> > # prelink -mRf /sbin/udevd
> > # ./a.out /proc/564/exe
> > warning: /proc/564/exe: got return value 38, expected 11
> > 2f7362696e2f7564657664005f47387942426e5952446e566f306868202864656c6574656429
> > /sbin/udevd _G8yBBnYRDnVo0hh (deleted)
> >
> > Yoshiya Koyama reports that the problem exists on RHEL 2.6.9-42.ELsmp too.
> >
> > I don't think it's exactly the same problem as originally reported,
> > because I definitely wasn't using prelinking (the prelink binary
> > wasn't even installed on the machine until today). But finding the
> > root cause of this may solve both problems.
>
> switch_names() buggered in case of short names on both sides. That should
> help:
>
> >From 2acda856910b774717e0290bbf948c7dee0f2e1a Mon Sep 17 00:00:00 2001
> From: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> Date: Mon, 3 Nov 2008 15:03:50 -0500
> Subject: [PATCH] fix switch_names() breakage in short-to-short case
>
> We want ->name.len to match the resulting name on *both*
> source and target
>
> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

please credit kmemcheck in the commit message and use an appropriate
Reported-by line as well. Thanks,

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