On Tue, Jul 16, 2019 at 11:16:48AM -0700, Nick Desaulniers wrote: > On Sun, Jul 14, 2019 at 5:37 PM Josh Poimboeuf <jpoim...@redhat.com> wrote: > > > > After an objtool improvement, it's complaining about the CLAC in > > copy_user_handle_tail(): > > > > arch/x86/lib/copy_user_64.o: warning: objtool: > > .altinstr_replacement+0x12: redundant UACCESS disable > > arch/x86/lib/copy_user_64.o: warning: objtool: > > copy_user_handle_tail()+0x6: (alt) > > arch/x86/lib/copy_user_64.o: warning: objtool: > > copy_user_handle_tail()+0x2: (alt) > > arch/x86/lib/copy_user_64.o: warning: objtool: > > copy_user_handle_tail()+0x0: <=== (func) > > > > copy_user_handle_tail() is incorrectly marked as a callable function, so > > objtool is rightfully concerned about the CLAC with no corresponding > > STAC. > > > > Remove the ELF function annotation. The copy_user_handle_tail() code > > path is already verified by objtool because it's jumped to by other > > callable asm code (which does the corresponding STAC). > > What is CLAC and STAC?
CLear AC flag and SeT AC flag, SMAP repurposed the EFLAGS.AC for CPL0. Also see commit: ea24213d8088 ("objtool: Add UACCESS validation")