All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roberto Ricci <io@r-ricci.it>
To: ebiederm@xmission.com, rafael@kernel.org, pavel@ucw.cz,
	ytcoode@gmail.com
Cc: kexec@lists.infradead.org, linux-pm@vger.kernel.org,
	akpm@linux-foundation.org, regressions@lists.linux.dev,
	linux-kernel@vger.kernel.org
Subject: [REGRESSION] Kernel booted via kexec fails to resume from hibernation
Date: Mon, 13 Jan 2025 22:28:44 +0100	[thread overview]
Message-ID: <Z4WFjBVHpndct7br@desktop0a> (raw)

After rebooting the system via kexec, hibernating and rebooting the machine, this oops occurs:

```
[   88.485216] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000940: 0000 [#1] PREEMPT SMP KASAN PTI
[   88.485233] KASAN: probably user-memory-access in range [0x0000000000004a00-0x0000000000004a07]
[   88.485240] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Kdump: loaded Not tainted 6.13.0-rc7_ricci #1
[   88.485245] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014
[   88.485252] RIP: 0010:next_zone (mm/mmzone.c:20 mm/mmzone.c:37)
[ 88.485270] Code: 73 10 48 05 c0 06 00 00 48 83 c4 08 5b c3 cc cc cc cc 48 8d bb 00 4a 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e 9d 00 00 00 8b 8b 00 4a 00 00
All code
========
   0:	73 10                	jae    0x12
   2:	48 05 c0 06 00 00    	add    $0x6c0,%rax
   8:	48 83 c4 08          	add    $0x8,%rsp
   c:	5b                   	pop    %rbx
   d:	c3                   	ret
   e:	cc                   	int3
   f:	cc                   	int3
  10:	cc                   	int3
  11:	cc                   	int3
  12:	48 8d bb 00 4a 00 00 	lea    0x4a00(%rbx),%rdi
  19:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  20:	fc ff df 
  23:	48 89 fa             	mov    %rdi,%rdx
  26:	48 c1 ea 03          	shr    $0x3,%rdx
  2a:*	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax		<-- trapping instruction
  2e:	84 c0                	test   %al,%al
  30:	74 08                	je     0x3a
  32:	3c 03                	cmp    $0x3,%al
  34:	0f 8e 9d 00 00 00    	jle    0xd7
  3a:	8b 8b 00 4a 00 00    	mov    0x4a00(%rbx),%ecx

Code starting with the faulting instruction
===========================================
   0:	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax
   4:	84 c0                	test   %al,%al
   6:	74 08                	je     0x10
   8:	3c 03                	cmp    $0x3,%al
   a:	0f 8e 9d 00 00 00    	jle    0xad
  10:	8b 8b 00 4a 00 00    	mov    0x4a00(%rbx),%ecx
[   88.485275] RSP: 0018:ffffffffa4807ce8 EFLAGS: 00010002
[   88.485279] RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 1ffff11027fff565
[   88.485281] RDX: 0000000000000940 RSI: ffffffffa3a89b80 RDI: 0000000000004a00
[   88.485283] RBP: 0000000000000000 R08: 0000000000000000 R09: ffffed10234c82c8
[   88.485285] R10: ffff88811a641647 R11: ffff88811a635e30 R12: 0000000000000000
[   88.485287] R13: 1ffffffff4839048 R14: 0000000000000000 R15: 000000000000003d
[   88.485290] FS:  0000000000000000(0000) GS:ffff88811a600000(0000) knlGS:0000000000000000
[   88.485292] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   88.485294] CR2: 000055e8c586c300 CR3: 0000000106eb0000 CR4: 00000000000006f0
[   88.485299] Call Trace:
[   88.485301]  <TASK>
[   88.485306] ? die_addr (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:460)
[   88.485313] ? exc_general_protection (arch/x86/kernel/traps.c:751 arch/x86/kernel/traps.c:693)
[   88.485319] ? asm_exc_general_protection (./arch/x86/include/asm/idtentry.h:617)
[   88.485324] ? next_zone (mm/mmzone.c:20 mm/mmzone.c:37)
[   88.485336] ? calc_load_nohz_start (kernel/sched/loadavg.c:251 (discriminator 2))
[   88.485341] need_update (mm/vmstat.c:2032 (discriminator 2))
[   88.485366] quiet_vmstat (mm/vmstat.c:2065 (discriminator 2))
[   88.485369] tick_nohz_stop_tick (./include/linux/hrtimer.h:135 kernel/time/tick-sched.c:1044)
[   88.485373] ? __pfx_tick_nohz_stop_tick (kernel/time/tick-sched.c:970)
[   88.485376] ? tick_nohz_next_event (kernel/time/tick-sched.c:952 (discriminator 2))
[   88.485379] ? __pfx_tsc_verify_tsc_adjust (arch/x86/kernel/tsc_sync.c:51)
[   88.485396] tick_nohz_idle_stop_tick (kernel/time/tick-sched.c:1229)
[   88.485399] do_idle (kernel/sched/idle.c:185 kernel/sched/idle.c:325)
[   88.485403] ? __pfx_do_idle (kernel/sched/idle.c:253)
[   88.485406] cpu_startup_entry (kernel/sched/idle.c:422)
[   88.485409] rest_init (init/main.c:720)
[   88.485413] ? acpi_subsystem_init (drivers/acpi/bus.c:1314)
[   88.485417] start_kernel (init/main.c:1000)
[   88.485422] x86_64_start_reservations (arch/x86/kernel/head64.c:495)
[   88.485426] x86_64_start_kernel (??:?)
[   88.485432] common_startup_64 (arch/x86/kernel/head_64.S:415)
[   88.485437]  </TASK>
[   88.485439] Modules linked in: cfg80211 8021q garp stp mrp llc ppdev evdev input_leds intel_agp e1000 mac_hid intel_gtt pcspkr i2c_piix4 agpgart i2c_smbus parport_pc parport tiny_power_button button rfkill vhost_vsock vmw_vsock_virtio_transport_common vsock vhost_net vhost vhost_iotlb tap vfio_iommu_type1 vfio iommufd uhid hid dm_mod uinput userio ppp_generic slhc tun loop cuse fuse ext4 crc32c_generic crc16 mbcache jbd2 bochs drm_client_lib drm_shmem_helper sd_mod drm_kms_helper ata_generic pata_acpi ata_piix libata drm scsi_mod serio_raw scsi_common qemu_fw_cfg
```

I can reproduce this with kernel 6.13-rc7 in a qemu x86_64 virtual machine
running Void Linux, with the following commands:

```
# kexec -l /boot/vmlinuz-6.13.0-rc7 --initrd=/boot/initramfs-6.13.0-rc7 --reuse-cmdline
# reboot
# printf reboot >/sys/power/disk
# printf disk >/sys/power/state
```

If kexec is not used, hibernation works fine.

This started happening since the 6.8 series; 6.7 works fine.
I performed a bisection and it pointed to
18d565ea95fe ("kexec_file: fix incorrect temp_start value in locate_mem_hole_top_down()").

#regzbot introduced: 18d565ea95fe553f442c5bbc5050415bab3c3fa4

I will send the kernel config and dmesg in replies to this email.


             reply	other threads:[~2025-01-13 21:29 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-13 21:28 Roberto Ricci [this message]
2025-01-13 21:31 ` [REGRESSION] Kernel booted via kexec fails to resume from hibernation Roberto Ricci
2025-01-14  3:42   ` Baoquan He
2025-04-01 12:59   ` msizanoen
2025-04-03 22:00     ` Roberto Ricci
2025-04-04  2:54       ` msizanoen
2025-04-04  4:56         ` msizanoen
2025-04-04  5:50           ` msizanoen
2025-04-04 20:39             ` Roberto Ricci
2025-04-05  5:15             ` msizanoen
2025-04-04 20:00         ` Roberto Ricci
2025-01-13 21:32 ` Roberto Ricci
2025-01-13 23:17 ` Andrew Morton
2025-01-14 13:19   ` Roberto Ricci
2025-01-14 13:16 ` Roberto Ricci
2025-01-15  4:04   ` Baoquan He
2025-01-15 12:00     ` Roberto Ricci
2025-01-16 11:52       ` Roberto Ricci
2025-01-17  1:55         ` Baoquan He
2025-01-17  3:41           ` Baoquan He
2025-01-17  7:52             ` Roberto Ricci
2025-01-16  9:54     ` Yuntao Wang
2025-01-22  9:45 ` RuiRui Yang
2025-01-22 13:01   ` Roberto Ricci
2025-01-27  2:39 ` Dave Young
2025-01-27  2:42   ` Dave Young
2025-03-09 17:09     ` Donald
2025-03-29  0:14     ` Roberto Ricci
2025-03-29  0:14       ` Roberto Ricci
2025-03-29  0:15       ` Roberto Ricci
2025-03-29  1:44       ` Baoquan He
2025-03-29 20:30         ` Roberto Ricci
2025-03-29 20:33           ` Roberto Ricci
2025-03-31  3:22           ` Dave Young
2025-04-03 21:59             ` Roberto Ricci
2025-04-04 23:31           ` Roberto Ricci
2025-04-04 23:37             ` Roberto Ricci

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z4WFjBVHpndct7br@desktop0a \
    --to=io@r-ricci.it \
    --cc=akpm@linux-foundation.org \
    --cc=ebiederm@xmission.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=rafael@kernel.org \
    --cc=regressions@lists.linux.dev \
    --cc=ytcoode@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.