Fix UTS corruption during clone(CLONE_NEWUTS)
struct utsname is copied from master one without any exclusion.
Here is sample output from one proggie doing
sethostname("
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
sethostname("
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb");
and another
clone(,, CLONE_NEWUTS, ...)
uname()
hostname = '
aaaaaaaaaaaaaaaaaaaaaaaaabbbbb'
hostname = '
bbbaaaaaaaaaaaaaaaaaaaaaaaaaaa'
hostname = '
aaaaaaaabbbbbbbbbbbbbbbbbbbbbb'
hostname = '
aaaaaaaaaaaaaaaaaaaaaaaaaabbbb'
hostname = '
aaaaaaaaaaaaaaaaaaaaaaaaaaaabb'
hostname = '
aaabbbbbbbbbbbbbbbbbbbbbbbbbbb'
hostname = '
bbbbbbbbbbbbbbbbaaaaaaaaaaaaaa'
Hostname is sometimes corrupted.
Yes, even _the_ simplest namespace activity had bug in it. :-(
Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>