Re: [PATCH] [IA64] Fix futex_atomic_cmpxchg_inatomic()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Just rebuilt kernel with the patch proposed by Tony: issue fixed :-)

Many thanks,

     Emeric


Le 14 avril 2012 00:31, Michel Lespinasse <walken@xxxxxxxxxx> a écrit :
> On Fri, Apr 13, 2012 at 8:32 PM, Luck, Tony <tony.luck@xxxxxxxxx> wrote:
>> Michel Lespinasse cleaned up the futex calling conventions in
>> commit 37a9d912b24f96a0591773e6e6c3642991ae5a70
>>    futex: Sanitize cmpxchg_futex_value_locked API
>>
>> But the ia64 implementation was subtly broken. Gcc does not know
>> that register "r8" will be updated by the fault handler if the
>> cmpxchg instruction takes an exception. So it feels safe in letting
>> the initialization of r8 slide to after the cmpxchg. Result: we
>> always return 0 whether the user address faulted or not.
>>
>> Fix by moving the initialization of r8 into the __asm__ code so
>> gcc won't move it.
>
> Looks good. Sorry for the trouble.
>
> --
> Michel "Walken" Lespinasse
> A program is never fully debugged until the last user dies.
--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux