ip netns exec namespace ls -l /proc/pid/fd prepends "/root" to the filename.

From: David Laight
Date: Thu Aug 25 2022 - 14:38:19 EST


If a process inside a network namespace calls readlink() on
/proc/pid/fd/n (for any pid) then the returned string is
prefixed by "/root".

So you get "/root/sys/console" or "/root/var/log/fred" etc.

There seems to be an extra call to prepend_name() called
from prepend_path() from d_path().

This seems decidedly wrong, especially since /root usually
exists.

Even it is were reporting a file outside a chroot (opened
before the chroot) prepending "/root" would be wrong.

Kernel is 5.10.132 (LTS before the retbleed breakages!)

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)