[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Build warnings in Xen 5.15.y and 5.10.y with retbleed backports
On Tue, Jul 12, 2022 at 03:19:39PM -0400, Boris Ostrovsky wrote: > > On 7/12/22 12:38 PM, Greg KH wrote: > > Hi all, > > > > I'm seeing the following build warning: > > arch/x86/kernel/head_64.o: warning: objtool: > > xen_hypercall_mmu_update(): can't find starting instruction > > in the 5.15.y and 5.10.y retbleed backports. > > > > I don't know why just this one hypercall is being called out by objtool, > > and this warning isn't in 5.18 and Linus's tree due to I think commit > > 5b2fc51576ef ("x86/ibt,xen: Sprinkle the ENDBR") being there. > > > > But, is this a ret call that we "forgot" here? It's a "real" ret in > > Linus's branch: > > > > .pushsection .noinstr.text, "ax" > > .balign PAGE_SIZE > > SYM_CODE_START(hypercall_page) > > .rept (PAGE_SIZE / 32) > > UNWIND_HINT_FUNC > > ANNOTATE_NOENDBR > > ANNOTATE_UNRET_SAFE > > ret > > /* > > * Xen will write the hypercall page, and sort out ENDBR. > > */ > > .skip 31, 0xcc > > .endr > > > > while 5.15.y and older has: > > .pushsection .text > > .balign PAGE_SIZE > > SYM_CODE_START(hypercall_page) > > .rept (PAGE_SIZE / 32) > > UNWIND_HINT_FUNC > > .skip 31, 0x90 > > ANNOTATE_UNRET_SAFE > > RET > > .endr > > > > So should the "ret" remain or be turned into "RET" in mainline right > > now? > > > It doesn't matter --- this is overwritten by the hypervisor during > initialization when Xen fills in actual hypercall code. > > > So f4b4bc10b0b85ec66f1a9bf5dddf475e6695b6d2 added 'ret' to make objtool happy > and then 14b476e07fab6 replaced 'ret' with RET as part of SLS fixes. The > latter was not really necessary but harmless. > > > So it can be 'ret', RET, or anything else that tools don't complain about. It > will not be executed. Cool, thanks. But what about the objtool warning that I now see? Is that "real"? I don't run any Xen systems, so I can't test any of this myself. thanks, greg k-h
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |