linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [tip:WIP.x86/cpu 11/17] arch/x86/entry/entry_64.S:1214: Error: no such instruction: `save_and_set_gsbase scratch_reg=%rax save_reg=%rbx'
@ 2019-06-21 18:37 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-06-21 18:37 UTC (permalink / raw)
  To: Chang S. Bae; +Cc: kbuild-all, linux-kernel, tipbuild, Thomas Gleixner

[-- Attachment #1: Type: text/plain, Size: 3079 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/cpu
head:   707e6befd43ba8d754485d8d02ed4f49ec8ec667
commit: 54f792cc63c56d994651c8e83d059d6fac00fbf9 [11/17] x86/entry/64: Handle FSGSBASE enabled paranoid entry/exit
config: x86_64-kexec (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        git checkout 54f792cc63c56d994651c8e83d059d6fac00fbf9
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   arch/x86/entry/entry_64.S: Assembler messages:
>> arch/x86/entry/entry_64.S:1214: Error: no such instruction: `save_and_set_gsbase scratch_reg=%rax save_reg=%rbx'

vim +1214 arch/x86/entry/entry_64.S

  1165	
  1166	/*
  1167	 * Save all registers in pt_regs. Return GSBASE related information
  1168	 * in EBX depending on the availability of the FSGSBASE instructions:
  1169	 *
  1170	 * FSGSBASE	R/EBX
  1171	 *     N        0 -> SWAPGS on exit
  1172	 *              1 -> no SWAPGS on exit
  1173	 *
  1174	 *     Y        GSBASE value at entry, must be restored in paranoid_exit
  1175	 */
  1176	ENTRY(paranoid_entry)
  1177		UNWIND_HINT_FUNC
  1178		cld
  1179		PUSH_AND_CLEAR_REGS save_ret=1
  1180		ENCODE_FRAME_POINTER 8
  1181	
  1182		/*
  1183		 * Always stash CR3 in %r14.  This value will be restored,
  1184		 * verbatim, at exit.  Needed if paranoid_entry interrupted
  1185		 * another entry that already switched to the user CR3 value
  1186		 * but has not yet returned to userspace.
  1187		 *
  1188		 * This is also why CS (stashed in the "iret frame" by the
  1189		 * hardware at entry) can not be used: this may be a return
  1190		 * to kernel code, but with a user CR3 value.
  1191		 *
  1192		 * Switching CR3 does not depend on kernel GSBASE so it can
  1193		 * be done before switching to the kernel GSBASE. This is
  1194		 * required for FSGSBASE because the kernel GSBASE has to
  1195		 * be retrieved from a kernel internal table.
  1196		 */
  1197		SAVE_AND_SWITCH_TO_KERNEL_CR3 scratch_reg=%rax save_reg=%r14
  1198	
  1199	        /*
  1200		 * Handling GSBASE depends on the availability of FSGSBASE.
  1201		 *
  1202		 * Without FSGSBASE the kernel enforces that negative GSBASE
  1203		 * values indicate kernel GSBASE. With FSGSBASE no assumptions
  1204		 * can be made about the GSBASE value when entering from user
  1205		 * space.
  1206		*/
  1207		ALTERNATIVE "jmp .Lparanoid_entry_checkgs", "", X86_FEATURE_FSGSBASE
  1208	
  1209		/*
  1210		 * Read the current GSBASE and store it in in %rbx unconditionally,
  1211		 * retrieve and set the current CPUs kernel GSBASE. The stored value
  1212		 * has to be restored in paranoid_exit unconditionally.
  1213		 */
> 1214		SAVE_AND_SET_GSBASE scratch_reg=%rax save_reg=%rbx
  1215		ret
  1216	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27255 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-06-21 18:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-21 18:37 [tip:WIP.x86/cpu 11/17] arch/x86/entry/entry_64.S:1214: Error: no such instruction: `save_and_set_gsbase scratch_reg=%rax save_reg=%rbx' kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).