Subject: Re: linux-next: manual merge of the akpm-current tree with the tip tree

From: "H. Peter Anvin" <[email-masked]>
Date: Tue, 14 Jan 2014 07:15:05 -0800

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...

	-hpa