On Tue, Jan 14, 2014 at 04:20:36PM +0100, Geert Uytterhoeven wrote: > On Tue, Jan 14, 2014 at 4:15 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote: > > On 01/14/2014 04:51 AM, Peter Zijlstra wrote: > >> On Tue, Jan 14, 2014 at 03:53:31PM +1100, Stephen Rothwell wrote: > >>> Hi Andrew, > >>> > >>> Today's linux-next merge of the akpm-current tree got a conflict in > >>> kernel/futex.c between commit a52b89ebb6d4 ("futexes: Increase hash table > >>> size for better performance") from the tip tree and commit 61beee6c76e5 > >>> ("futex: switch to USER_DS for futex test") from the akpm-current tree. > >>> > >>> @@@ -2869,10 -2748,13 +2871,13 @@@ > >>> * implementation, the non-functional ones will return > >>> * -ENOSYS. > >>> */ > >>> + fs = get_fs(); > >>> + set_fs(USER_DS); > >>> if (cmpxchg_futex_value_locked(&curval, NULL, 0, 0) == -EFAULT) > >>> futex_cmpxchg_enabled = 1; > >>> + set_fs(fs); > >>> > >> > >> This seems terribly broken, the *futex_value*() ops should not need > >> that; they are supposed to access userspace without any of that. > > > > I am *guessing* that m68k is has get_fs() == KERNEL_DS at the point that > > futex_init() is called. This would seem a bit of a peculiarity to m68k, > > and as such it would seem like it would be better for it to belong in > > the m68k-specific code, but since futex_init() is init code and only > > called once anyway it shouldn't cause any harm... > > Yes it does. So when getting the exception on 68030, we notice it's a kernel > space access error, not a user space access error, and crash. Is there a good reason m68k works like this? That is, shouldn't we fix the arch code instead of littering the generic code with weirdness like this? -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html