Re: [PATCH] usbhid: Fix lockdep unannotated irqs-off warning

From: Sedat Dilek
Date: Mon Mar 07 2016 - 12:16:01 EST


On Mon, Mar 7, 2016 at 6:05 PM, Jiri Kosina <jikos@xxxxxxxxxx> wrote:
> On Mon, 7 Mar 2016, Alan Stern wrote:
>
>> > 319: 9c pushfq
>> > 31a: 41 5c pop %r12
>> > 31c: 48 89 df mov %rbx,%rdi
>> > 31f: e8 00 00 00 00 callq 324 <usbhid_close+0x44>
>> > 324: 41 54 push %r12
>> > 326: 9d popfq
>>
>> spin_unlock_irq(&usbhid->lock); while attempting to preserve the Z
>> flag. The problem is that this code sequence will also preserve the
>> Interrupt Flag!
>
> You are right Alan, thanks a lot, for reason I could not understand I
> completely missed the pushf/popf last time I was looking at the generated
> assembly!
>
> OK, a little bit of googling revealed related discussion on LLVM
> mailinglist:
>
> http://lists.llvm.org/pipermail/llvm-dev/2015-July/088780.html
>
> Seems like it has been reported already, but noone dared to fix it yet.
>
> This basically makes LLVM unusable for compiling the kernel.
>

OK, OK.

Did someone look at the next/follow-ups in this thread?
For example: D6629 "x86: Emit LAHF/SAHF instead of PUSHF/POPF" [2]?

- Sedat -

[1] http://lists.llvm.org/pipermail/llvm-dev/2015-July/088874.html
[2] http://reviews.llvm.org/D6629