On Wed, Aug 14, 2024 at 03:56:56PM +0530, Naresh Kamboju wrote: > On Wed, 14 Aug 2024 at 15:15, Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote: > > > > The qemu-x86_64 boot failed with today's Linux next-20240814 tag due to > > following crash. > > > > The catch here is the crash seen on both x86_64 device and qemu-x86_64 > > but x86_64 device is able to boot successfully. > > > > Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx> > > > > Boot log: > > --- > > [ 0.000000] Linux version 6.11.0-rc3-next-20240814 > > (tuxmake@tuxmake) (x86_64-linux-gnu-gcc (Debian 13.3.0-1) 13.3.0, GNU > > ld (GNU Binutils for Debian) 2.42.50.20240625) #1 SMP PREEMPT_DYNAMIC > > @1723614704 > > ... > > <6>[ 2.479915] scsi host0: ahci > > <4>[ 2.484371] sysfs: cannot create duplicate filename > > '/devices/virtual/workqueue/scsi_tmf_-1073661392' ^^^^^^^^^^^ Negative number. This comes from: shost->tmf_work_q = alloc_workqueue("scsi_tmf_%d", WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_SYSFS, 1, shost->host_no); shost->host_no comes from ida_alloc() and we have checked to ensure it's not negative. The problem is the va_args changes in workqueue.c as Anders's bisect shows. kernel/workqueue.c 5627 static struct workqueue_struct *__alloc_workqueue(const char *fmt, 5628 unsigned int flags, 5629 int max_active, ...) ^^^ This should be a "va_list args" now. 5750 struct workqueue_struct *alloc_workqueue(const char *fmt, 5751 unsigned int flags, 5752 int max_active, ...) 5753 { 5754 struct workqueue_struct *wq; 5755 va_list args; 5756 5757 va_start(args, max_active); 5758 wq = __alloc_workqueue(fmt, flags, max_active, args); ^^^^ We're passing a va_list. 5759 va_end(args); Any workqueue that has a format string is going to be broken now. regards, dan carpenter