On Mon, Mar 10, 2014 at 6:39 PM, Linus Torvalds <torva...@linux-foundation.org> wrote: > On Mon, Mar 10, 2014 at 6:03 PM, Andy Lutomirski <l...@amacapital.net> wrote: >> >> This is a bit of an abuse of the no-breaking-userspace policy. > > No it's not, because it won't be applied. > > You need to fix it. > > I'm not sure what goes wrong, since it *looks* like you handle the > "vdso_enabled" thing correctly, so I find it surprising that you say > that > > echo 0 >/proc/sys/abi/vsyscall32 > > makes it work, since it should be zero already, and that echo should > be a no-op. But maybe I'm missing something. > > Maybe you can just fake the boot parameter and fix the OpenSuSE > breakage that way (presumably that "init" sees it if it's some > user-space setup thing), but I'd like to know why that "echo 0" works, > but just initializing it to zero does not?
It does. My patch breaks OpenSuSE 9 when CONFIG_ENABLE_VDSO32_BY_DEFAULT=y unless it's overridden by sysctl or boot option. The behavior with my patch is: If ENABLE_VDSO32_BY_DEFAULT (which is the default), then OpenSuSE 9 breaks. Everything else works. Booting with vdso=0, vdso=2, vdso32=0, or vdso32=2, or setting abi.vsyscall32=0 will switch to the no-vDSO behavior. If !ENABLE_VDSO32_BY_DEFAULT, then OpenSuSE 9 breaks and other 32-bit code runs without a vDSO, which slows it down a bit. I did that because I seem to remember that it's not so bad to break small amounts of userspace as long as there's a backwards compatibility path (there are plenty of kernel options that turn on "legacy" things needed for small numbers of users). If this is not okay, then I can redo the patch, leaving it with CONFIG_COMPAT_VDSO as the option name, so that anyone with a working config will keep working if they run 'make oldconfig' (as opposed to being prompted). If I do that, I'd still prefer to make the non-compatible version be the default, since it's the right choice for the vast majority of users. Currently CONFIG_COMPAT_VDSO is default y, which seems like an odd choice to me. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/