On 2014-03-25 08:58:08 -0500, Dennis Williamson wrote:
> On Mar 25, 2014 8:40 AM, "Kusanagi Kouichi" <sl...@ac.auone-net.jp> 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.
> >
> > 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
> >
> 
> What happens if you use /usr/bin/printf instead of the Bash builtin?

/usr/bin/printf and dash's printf work as expected.

Reply via email to