 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Issue with waitqueues and Intel CET-SS
 Hi,
I was reviewing xen/common/wait.c:__prepare_to_wait() and I think I've
identified an incompatibility with shadow stacks like Intel CET-SS.
The inline asm does:
        "call 1f;"
        "1: addq $2f-1b,(%%rsp);"
        "sub %%esp,%%ecx;"
        "cmp %3,%%ecx;"
        "ja 3f;"
        "mov %%rsp,%%rsi;"
        /* check_wakeup_from_wait() longjmp()'s to this point. */
        "2: rep movsb;"
        "mov %%rsp,%%rsi;"
        "3: pop %%rax;"
`call 1f` gets the address of the code, but the address is popped off
without ret.  This will leave the shadow stack out-of-sync which will
trigger the protection.  Is my analysis correct?
Regards,
Jason
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |