Quoting Cedric Le Goater (clg@xxxxxxxxxx): > Serge E. Hallyn wrote: > > Quoting Cedric Le Goater (clg@xxxxxxxxxx): > >> On a system with nfs mounts, if a task unshares its mount namespace, > >> a oops can occur when the system is rebooted if the task is the last > >> to unreference the nfs mount. It will try to create a rpc request > >> using utsname() which has been invalidated by free_nsproxy(). > >> > >> The patch fixes the issue by using the global init_utsname() but at > >> the same time, it breaks the capability of identifying rpc clients > >> per uts namespace. > >> > >> Any better suggestions ? > > > > But the utsname gets freed after the mnt_ns, so the analysis seems > > wrong somehow. > > yes but switch_task_namespaces() assigns ->nsproxy to NULL. the result > is the same. > > > I trust addr2line or whatever verified that rpc_create+0x332/0x42f is > > exactly at the call to utsname()? > > yes. it points to net/sunrpc/clnt.c:216 > > clnt->cl_nodelen = strlen(utsname()->nodename); Pavel, at the mini-summit you mentioned sunrpc transports as one example of the mini-namespaces openvz currently implements. We then apparently went off on a bit of a tangent (http://wiki.openvz.org/Containers/Mini-summit_2008_notes#Namespaces_and_containers) after Dave asked for a list of mini-namespaces openvz implements. What exactly is openvz doing with sunrpc transports, and would it be a better solution to this problem? thanks, -serge -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html