linux-next: build failure after merge of the userns tree

From: Stephen Rothwell
Date: Mon May 21 2012 - 03:50:15 EST


Hi Eric,

After merging the userns tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

kernel/sched/numa.c: In function 'ng_allowed':
kernel/sched/numa.c:1270:16: error: 'struct user_struct' has no member named 'user_ns'
kernel/sched/numa.c:1270:40: error: 'struct user_struct' has no member named 'user_ns'
kernel/sched/numa.c:1278:28: error: 'struct user_struct' has no member named 'user_ns'

Caused by commit a2dae61eb839 ("sched/numa: Introduce sys_numa_{t,m}bind
()") from the tip tree interacting with commit d0bd6594e286 ("userns:
Deprecate and rename the user_namespace reference in the user_struct")
from the userns tree.

I applied this merge fix up patch (more may be required):

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Mon, 21 May 2012 17:40:55 +1000
Subject: [PATCH] userns: fix up for user_ns move to struct cred

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
kernel/sched/numa.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/sched/numa.c b/kernel/sched/numa.c
index 8eb92f7..1149993 100644
--- a/kernel/sched/numa.c
+++ b/kernel/sched/numa.c
@@ -1267,7 +1267,7 @@ static int ng_allowed(struct numa_group *ng, struct task_struct *p)

rcu_read_lock();
tcred = __task_cred(p);
- if (cred->user->user_ns == tcred->user->user_ns &&
+ if (cred->user_ns == tcred->user_ns &&
(cred->uid == tcred->euid &&
cred->uid == tcred->suid &&
cred->uid == tcred->uid &&
@@ -1275,7 +1275,7 @@ static int ng_allowed(struct numa_group *ng, struct task_struct *p)
cred->gid == tcred->sgid &&
cred->gid == tcred->gid))
goto ok;
- if (ns_capable(tcred->user->user_ns, CAP_SYS_PTRACE))
+ if (ns_capable(tcred->user_ns, CAP_SYS_PTRACE))
goto ok;
rcu_read_unlock();
return -EPERM;
--
1.7.10.280.gaa39


--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

Attachment: pgp00000.pgp
Description: PGP signature