* [daveh-devel:kss 28/32] kernel/sched/core.c:5538:16: error: invalid operand for instruction
@ 2026-10-18 17:51 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-18 17:51 UTC (permalink / raw)
To: Dave Hansen; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/daveh/devel.git kss
head: 1b2e2aefa6c7e3d15fac1b25a971b2d2cc3b697d
commit: 22dda6f23b24026b5b1e1e6f968e73f64da9b848 [28/32] kss-debug-empty-ssp
config: um-allnoconfig (https://download.01.org/0day-ci/archive/20261019/202610190133.k55LhRgM-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261019/202610190133.k55LhRgM-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610190133.k55LhRgM-lkp@intel.com/
All errors (new ones prefixed by >>):
>> kernel/sched/core.c:5538:16: error: invalid operand for instruction
5538 | asm volatile("rdsspq %0" : "+r" (ssp));
| ^
<inline asm>:1:9: note: instantiated into assembly here
1 | rdsspq %ecx
| ^~~~
1 error generated.
vim +5538 kernel/sched/core.c
5469
5470 /*
5471 * context_switch - switch to the new MM and the new thread's register state.
5472 */
5473 static __always_inline struct rq *
5474 context_switch(struct rq *rq, struct task_struct *prev,
5475 struct task_struct *next, struct rq_flags *rf)
5476 __releases(__rq_lockp(rq))
5477 {
5478 prepare_task_switch(rq, prev, next);
5479
5480 /*
5481 * For paravirt, this is coupled with an exit in switch_to to
5482 * combine the page table reload and the switch backend into
5483 * one hypercall.
5484 */
5485 arch_start_context_switch(prev);
5486
5487 /*
5488 * kernel -> kernel lazy + transfer active
5489 * user -> kernel lazy + mmgrab_lazy_tlb() active
5490 *
5491 * kernel -> user switch + mmdrop_lazy_tlb() active
5492 * user -> user switch
5493 */
5494 if (!next->mm) { // to kernel
5495 enter_lazy_tlb(prev->active_mm, next);
5496
5497 next->active_mm = prev->active_mm;
5498 if (prev->mm) // from user
5499 mmgrab_lazy_tlb(prev->active_mm);
5500 else
5501 prev->active_mm = NULL;
5502 } else { // to user
5503 membarrier_switch_mm(rq, prev->active_mm, next->mm);
5504 /*
5505 * sys_membarrier() requires an smp_mb() between setting
5506 * rq->curr / membarrier_switch_mm() and returning to userspace.
5507 *
5508 * The below provides this either through switch_mm(), or in
5509 * case 'prev->active_mm == next->mm' through
5510 * finish_task_switch()'s mmdrop().
5511 */
5512 switch_mm_irqs_off(prev->active_mm, next->mm, next);
5513 lru_gen_use_mm(next->mm);
5514
5515 if (!prev->mm) { // from kernel
5516 /* will mmdrop_lazy_tlb() in finish_task_switch(). */
5517 rq->prev_mm = prev->active_mm;
5518 prev->active_mm = NULL;
5519 }
5520 }
5521
5522 mm_cid_switch_to(prev, next);
5523
5524 /*
5525 * Tell rseq that the task was scheduled in. Must be after
5526 * switch_mm_cid() to get the TIF flag set.
5527 */
5528 rseq_sched_switch_event(next);
5529
5530 prepare_lock_switch(rq, next, rf);
5531
5532 /* Here we just switch the register state and the stack. */
5533 switch_to(prev, next, prev);
5534 barrier();
5535
5536 {
5537 unsigned long ssp = 0;
> 5538 asm volatile("rdsspq %0" : "+r" (ssp));
5539 trace_printk("switch: %s ssp=%lx\n", current->comm, ssp);
5540 }
5541
5542 return finish_task_switch(prev);
5543 }
5544
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-18 17:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-18 17:51 [daveh-devel:kss 28/32] kernel/sched/core.c:5538:16: error: invalid operand for instruction kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox