[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: printf cannot write more than one line to /proc/pid/uid_map
From: |
Eduardo A . Bustamante López |
Subject: |
Re: printf cannot write more than one line to /proc/pid/uid_map |
Date: |
Tue, 25 Mar 2014 06:56:02 -0700 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Mar 25, 2014 at 08:24:13PM +0900, Kusanagi Kouichi wrote:
> Configuration Information [Automatically generated, do not change]:
> Machine: x86_64
> OS: linux-gnu
> Compiler: gcc
> Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64'
> -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-pc-linux-gnu'
> -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL
> -DHAVE_CONFIG_H -I. -I../. -I.././include -I.././lib -D_FORTIFY_SOURCE=2
> -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
> -Werror=format-security -Wall
> uname output: Linux crescent 3.14.0-rc7 #1 SMP Mon Mar 17 07:17:51 UTC 2014
> x86_64 GNU/Linux
> Machine Type: x86_64-pc-linux-gnu
>
> Bash Version: 4.3
> Patch Level: 0
> Release Status: release
>
> Description:
> Bash's builtin printf cannot write more than one line to
> /proc/pid/uid_map because printf writes one line at a time
> and uid_map can be written only once.
I don't see why this is a bash bug though. printf works as
documented. The fact that the way it works is incompatible with this
/proc thing is *not* bash's fault. It just means that it's not
flexible enough to tell it to write all at once, but that's not a
bug.
> Repeat-By:
> shell 1
> $ unshare -U
> $ echo $$
> 31861
>
> shell 2
> # printf '0 0 1\n1 1 1' > /proc/31861/uid_map
> printf: write error: Operation not permitted
>
--
Eduardo Alan Bustamante López
Message not available