Davidlohr Bueso <davidlohr@xxxxxx> writes: > On Thu, 2014-07-31 at 17:30 -0700, Eric W. Biederman wrote: >> This is small chance changing /proc/net and /proc/mounts will cause >> userspace regressions (although nothing has shown up in my testing) if >> that happens we can just point the change that moves them from >> /proc/self/... to /proc/thread-self/... > > Isn't breaking userspace a no no, no matter what? At least some > util-linux programs makes use of both /proc/mounts and /proc/net. The only programs that will notice that /proc/mounts and /proc/net have changed where they point are multi-threaded programs. The vast majority of multi-thread programs have the same mount namespace and network namespace across all threads. Those programs will simply see the case where /proc/mounts and /proc/net work now after the initial thread has terminated. (A Bug fix). For the weird multi-threaded applications that access /proc/mounts or /proc/net and have different namespaces in different threads this most likely is a bug fix. But this could potentially introduce a regression. Which is a long way of saying that we don't have to remain bug compatible with past versions of linux if no one cares about our bugs. So while I am seriously concerned about the possibility of introducing a regression the only way to find out if anyone cares is to release the code and to release these patches, and see if anything breaks. The changes that might have to be reverted are trivial one liners, so it will be easy to fix if something shows up. So if you or anyone else knows of applications that are multi-threaded have different namespaces on different threads and depend on /proc/mounts or /proc/net always reflecting the namespace of the initial thread in the program let me know. Until then this series fixes at least one long-standing annoying bug. Eric -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html