================================================================== BUG: KASAN: use-after-free in memset include/linux/string.h:337 [inline] BUG: KASAN: use-after-free in __ext4_expand_extra_isize+0x16f/0x240 fs/ext4/inode.c:5897 Write of size 855638016 at addr ffff8881ad786080 by task syz-executor0/22671 list_add corruption. next->prev should be prev (ffff8881dae2d758), but was 0000000000000000. (next=ffff8881899100b0). CPU: 1 PID: 22671 Comm: syz-executor0 Not tainted 4.20.0-rc7+ #157 ------------[ cut here ]------------ Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 kernel BUG at lib/list_debug.c:25! Call Trace: invalid opcode: 0000 [#1] PREEMPT SMP KASAN __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x244/0x39d lib/dump_stack.c:113 CPU: 0 PID: 6120 Comm: syz-executor3 Not tainted 4.20.0-rc7+ #157 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:__list_add_valid.cold.2+0xf/0x2a lib/list_debug.c:23 Code: d6 60 88 e8 a1 90 d2 fd 0f 0b 48 89 de 48 c7 c7 00 d6 60 88 e8 90 90 d2 fd 0f 0b 48 89 d9 48 c7 c7 c0 d6 60 88 e8 7f 90 d2 fd <0f> 0b 48 89 f1 48 c7 c7 40 d7 60 88 48 89 de e8 6b 90 d2 fd 0f 0b print_address_description.cold.7+0x9/0x1ff mm/kasan/report.c:256 RSP: 0018:ffff8881dae06f88 EFLAGS: 00010082 kasan_report_error mm/kasan/report.c:354 [inline] kasan_report.cold.8+0x242/0x309 mm/kasan/report.c:412 RAX: 0000000000000075 RBX: ffff8881899100b0 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffffff8165e495 RDI: 0000000000000005 check_memory_region_inline mm/kasan/kasan.c:260 [inline] check_memory_region+0x13e/0x1b0 mm/kasan/kasan.c:267 RBP: ffff8881dae06fa0 R08: ffff8881d27002c0 R09: fffffbfff12b2314 memset+0x23/0x40 mm/kasan/kasan.c:285 R10: fffffbfff12b2314 R11: ffffffff895918a3 R12: ffff8881d9ae8330 memset include/linux/string.h:337 [inline] __ext4_expand_extra_isize+0x16f/0x240 fs/ext4/inode.c:5897 R13: 1ffff1103b5c0df9 R14: ffff8881dae07028 R15: ffff8881d9ae8330 ext4_try_to_expand_extra_isize fs/ext4/inode.c:5949 [inline] ext4_mark_inode_dirty+0x8f9/0xb20 fs/ext4/inode.c:6025 FS: 0000000001d57940(0000) GS:ffff8881dae00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000001d60978 CR3: 00000001b7f36000 CR4: 00000000001406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __list_add include/linux/list.h:60 [inline] list_add include/linux/list.h:79 [inline] account_entity_enqueue+0x3a3/0x660 kernel/sched/fair.c:2679 ext4_ext_tree_init+0x105/0x140 fs/ext4/extents.c:856 enqueue_entity+0x2af/0x20a0 kernel/sched/fair.c:3893 __ext4_new_inode+0x5395/0x65a0 fs/ext4/ialloc.c:1169 enqueue_task_fair+0x24d/0xa50 kernel/sched/fair.c:5106 enqueue_task kernel/sched/core.c:730 [inline] activate_task+0x136/0x430 kernel/sched/core.c:751 ttwu_activate kernel/sched/core.c:1643 [inline] ttwu_do_activate+0xd5/0x1f0 kernel/sched/core.c:1702 ttwu_queue kernel/sched/core.c:1847 [inline] try_to_wake_up+0x9b3/0x1440 kernel/sched/core.c:2057 ext4_symlink+0x4b7/0x1130 fs/ext4/namei.c:3096 vfs_symlink+0x37a/0x5d0 fs/namei.c:4127 wake_up_process+0x10/0x20 kernel/sched/core.c:2129 do_symlinkat+0x242/0x2d0 fs/namei.c:4154 process_timeout+0x31/0x40 kernel/time/timer.c:1733 call_timer_fn+0x272/0x920 kernel/time/timer.c:1326 __do_sys_symlink fs/namei.c:4173 [inline] __se_sys_symlink fs/namei.c:4171 [inline] __x64_sys_symlink+0x59/0x80 fs/namei.c:4171 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x457397 expire_timers kernel/time/timer.c:1363 [inline] __run_timers+0x7e5/0xc70 kernel/time/timer.c:1682 Code: 0f 1f 00 b8 5c 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 bd b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 b8 58 00 00 00 0f 05 <48> 3d 01 f0 ff ff 0f 83 9d b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007ffcff98a8a8 EFLAGS: 00000202 ORIG_RAX: 0000000000000058 RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 0000000000457397 RDX: 00007ffcff98a923 RSI: 00000000004bd0a4 RDI: 00007ffcff98a910 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000013 R10: 0000000000000075 R11: 0000000000000202 R12: 0000000000000000 R13: 0000000000000001 R14: 00000000000002ca R15: 0000000000000000 The buggy address belongs to the page: page:ffffea0006b5e180 count:2 mapcount:0 mapping:ffff8881cc4dec58 index:0x45d flags: 0x2fffc000000203a(referenced|dirty|lru|active|private) raw: 02fffc000000203a ffffea0006c2f708 ffffea00069ebcc8 ffff8881cc4dec58 raw: 000000000000045d ffff8881b65e0f18 00000002ffffffff ffff8881b22648c0 run_timer_softirq+0x52/0xb0 kernel/time/timer.c:1695 page dumped because: kasan: bad access detected page->mem_cgroup:ffff8881b22648c0 __do_softirq+0x308/0xb7e kernel/softirq.c:292 Memory state around the buggy address: ffff8881ad786f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff8881ad786f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff8881ad787000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff8881ad787080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff8881ad787100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ================================================================== invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0x17f/0x1c0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:536 [inline] smp_apic_timer_interrupt+0x1cb/0x760 arch/x86/kernel/apic/apic.c:1061 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:807 RIP: 0010:memset_erms+0x9/0x10 arch/x86/lib/memset_64.S:66 Code: c1 e9 03 40 0f b6 f6 48 b8 01 01 01 01 01 01 01 01 48 0f af c6 f3 48 ab 89 d1 f3 aa 4c 89 c8 c3 90 49 89 f9 40 88 f0 48 89 d1 aa 4c 89 c8 c3 90 49 89 fa 40 0f b6 ce 48 b8 01 01 01 01 01 01 RSP: 0018:ffff8881bf31f6b8 EFLAGS: 00010282 ORIG_RAX: ffffffffffffff13 RAX: 0000000000000000 RBX: ffff8881880e5b80 RCX: 000000002fc08780 RDX: 0000000033000000 RSI: 0000000000000000 RDI: ffff88818b4dd400 RBP: ffff8881bf31f6d8 R08: ffffed103101d208 R09: ffff8881880e5b80 R10: ffffed103761cb6f R11: ffff8881bb0e5b7f R12: 0000000033000000 R13: 0000000000000000 R14: ffff8881880e5b80 R15: 0000000033000000 memset include/linux/string.h:337 [inline] __ext4_expand_extra_isize+0x16f/0x240 fs/ext4/inode.c:5897 ext4_try_to_expand_extra_isize fs/ext4/inode.c:5949 [inline] ext4_mark_inode_dirty+0x8f9/0xb20 fs/ext4/inode.c:6025 ext4_dirty_inode+0x97/0xc0 fs/ext4/inode.c:6059 __mark_inode_dirty+0x7c3/0x1510 fs/fs-writeback.c:2122 generic_update_time+0x26a/0x450 fs/inode.c:1654 update_time fs/inode.c:1670 [inline] touch_atime+0x29c/0x320 fs/inode.c:1741 file_accessed include/linux/fs.h:2156 [inline] iterate_dir+0x370/0x5d0 fs/readdir.c:56 __do_sys_getdents fs/readdir.c:231 [inline] __se_sys_getdents fs/readdir.c:212 [inline] __x64_sys_getdents+0x29f/0x510 fs/readdir.c:212 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x455a4b Code: 02 74 b6 31 f6 eb b9 0f 1f 84 00 00 00 00 00 41 57 41 56 48 63 ff 41 55 41 54 b8 4e 00 00 00 55 53 48 89 f3 48 83 ec 08 0f 05 <48> 3d 00 f0 ff ff 77 55 4c 8d 24 06 49 89 c5 4c 39 e6 73 33 90 0f RSP: 002b:00007fff6495a3d0 EFLAGS: 00000202 ORIG_RAX: 000000000000004e RAX: ffffffffffffffda RBX: 0000000001d58970 RCX: 0000000000455a4b RDX: 0000000000008000 RSI: 0000000001d58970 RDI: 0000000000000003 RBP: 0000000001d58970 R08: 0000000000000001 R09: 0000000001d57940 R10: 0000000000000000 R11: 0000000000000202 R12: ffffffffffffffd4 R13: 0000000000000016 R14: 0000000000000000 R15: 0000000000000003 Modules linked in: ====================================================== WARNING: possible circular locking dependency detected 4.20.0-rc7+ #157 Not tainted ------------------------------------------------------ syz-executor3/6120 is trying to acquire lock: 00000000044ca51d ((console_sem).lock){-.-.}, at: down_trylock+0x13/0x70 kernel/locking/semaphore.c:136 but task is already holding lock: 00000000d62cc738 (&rq->lock){-.-.}, at: rq_lock kernel/sched/sched.h:1124 [inline] 00000000d62cc738 (&rq->lock){-.-.}, at: ttwu_queue kernel/sched/core.c:1845 [inline] 00000000d62cc738 (&rq->lock){-.-.}, at: try_to_wake_up+0x958/0x1440 kernel/sched/core.c:2057 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&rq->lock){-.-.}: __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline] _raw_spin_lock+0x2d/0x40 kernel/locking/spinlock.c:144 rq_lock kernel/sched/sched.h:1124 [inline] task_fork_fair+0xb0/0x6d0 kernel/sched/fair.c:9802 sched_fork+0x443/0xba0 kernel/sched/core.c:2359 copy_process+0x25b8/0x87a0 kernel/fork.c:1887 _do_fork+0x1cb/0x11d0 kernel/fork.c:2216 kernel_thread+0x34/0x40 kernel/fork.c:2275 rest_init+0x28/0x372 init/main.c:409 arch_call_rest_init+0xe/0x1b start_kernel+0x9f5/0xa30 init/main.c:745 x86_64_start_reservations+0x29/0x2b arch/x86/kernel/head64.c:470 x86_64_start_kernel+0x76/0x79 arch/x86/kernel/head64.c:451 secondary_startup_64+0xa4/0xb0 arch/x86/kernel/head_64.S:243 -> #1 (&p->pi_lock){-.-.}: __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x99/0xd0 kernel/locking/spinlock.c:152 try_to_wake_up+0xdc/0x1440 kernel/sched/core.c:1965 wake_up_process+0x10/0x20 kernel/sched/core.c:2129 __up.isra.1+0x1c0/0x2a0 kernel/locking/semaphore.c:262 up+0x13c/0x1c0 kernel/locking/semaphore.c:187 __up_console_sem+0xbe/0x1b0 kernel/printk/printk.c:236 console_unlock+0x811/0x1190 kernel/printk/printk.c:2432 vprintk_emit+0x391/0x990 kernel/printk/printk.c:1922 vprintk_default+0x28/0x30 kernel/printk/printk.c:1964 vprintk_func+0x7e/0x181 kernel/printk/printk_safe.c:398 printk+0xa7/0xcf kernel/printk/printk.c:1997 check_stack_usage kernel/exit.c:755 [inline] do_exit.cold.18+0x57/0x16f kernel/exit.c:916 do_group_exit+0x177/0x440 kernel/exit.c:970 __do_sys_exit_group kernel/exit.c:981 [inline] __se_sys_exit_group kernel/exit.c:979 [inline] __x64_sys_exit_group+0x3e/0x50 kernel/exit.c:979 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #0 ((console_sem).lock){-.-.}: lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x99/0xd0 kernel/locking/spinlock.c:152 down_trylock+0x13/0x70 kernel/locking/semaphore.c:136 __down_trylock_console_sem+0xae/0x1f0 kernel/printk/printk.c:219 console_trylock+0x15/0xa0 kernel/printk/printk.c:2247 console_trylock_spinning kernel/printk/printk.c:1653 [inline] vprintk_emit+0x372/0x990 kernel/printk/printk.c:1921 vprintk_default+0x28/0x30 kernel/printk/printk.c:1964 vprintk_func+0x7e/0x181 kernel/printk/printk_safe.c:398 printk+0xa7/0xcf kernel/printk/printk.c:1997 __list_add_valid.cold.2+0xf/0x2a lib/list_debug.c:23 __list_add include/linux/list.h:60 [inline] list_add include/linux/list.h:79 [inline] account_entity_enqueue+0x3a3/0x660 kernel/sched/fair.c:2679 enqueue_entity+0x2af/0x20a0 kernel/sched/fair.c:3893 enqueue_task_fair+0x24d/0xa50 kernel/sched/fair.c:5106 enqueue_task kernel/sched/core.c:730 [inline] activate_task+0x136/0x430 kernel/sched/core.c:751 ttwu_activate kernel/sched/core.c:1643 [inline] ttwu_do_activate+0xd5/0x1f0 kernel/sched/core.c:1702 ttwu_queue kernel/sched/core.c:1847 [inline] try_to_wake_up+0x9b3/0x1440 kernel/sched/core.c:2057 wake_up_process+0x10/0x20 kernel/sched/core.c:2129 process_timeout+0x31/0x40 kernel/time/timer.c:1733 call_timer_fn+0x272/0x920 kernel/time/timer.c:1326 expire_timers kernel/time/timer.c:1363 [inline] __run_timers+0x7e5/0xc70 kernel/time/timer.c:1682 run_timer_softirq+0x52/0xb0 kernel/time/timer.c:1695 __do_softirq+0x308/0xb7e kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0x17f/0x1c0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:536 [inline] smp_apic_timer_interrupt+0x1cb/0x760 arch/x86/kernel/apic/apic.c:1061 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:807 memset_erms+0x9/0x10 arch/x86/lib/memset_64.S:65 memset include/linux/string.h:337 [inline] __ext4_expand_extra_isize+0x16f/0x240 fs/ext4/inode.c:5897 ext4_try_to_expand_extra_isize fs/ext4/inode.c:5949 [inline] ext4_mark_inode_dirty+0x8f9/0xb20 fs/ext4/inode.c:6025 ext4_dirty_inode+0x97/0xc0 fs/ext4/inode.c:6059 __mark_inode_dirty+0x7c3/0x1510 fs/fs-writeback.c:2122 generic_update_time+0x26a/0x450 fs/inode.c:1654 update_time fs/inode.c:1670 [inline] touch_atime+0x29c/0x320 fs/inode.c:1741 file_accessed include/linux/fs.h:2156 [inline] iterate_dir+0x370/0x5d0 fs/readdir.c:56 __do_sys_getdents fs/readdir.c:231 [inline] __se_sys_getdents fs/readdir.c:212 [inline] __x64_sys_getdents+0x29f/0x510 fs/readdir.c:212 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe other info that might help us debug this: Chain exists of: (console_sem).lock --> &p->pi_lock --> &rq->lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&rq->lock); lock(&p->pi_lock); lock(&rq->lock); lock((console_sem).lock); *** DEADLOCK *** 6 locks held by syz-executor3/6120: #0: 000000004043ce3c (&type->i_mutex_dir_key#3){++++}, at: iterate_dir+0xd8/0x5d0 fs/readdir.c:41 #1: 000000008e333790 (sb_writers#3){.+.+}, at: sb_start_write_trylock include/linux/fs.h:1602 [inline] #1: 000000008e333790 (sb_writers#3){.+.+}, at: touch_atime+0x16c/0x320 fs/inode.c:1726 #2: 000000005dceefcf (&ei->xattr_sem){++++}, at: ext4_write_trylock_xattr fs/ext4/xattr.h:148 [inline] #2: 000000005dceefcf (&ei->xattr_sem){++++}, at: ext4_try_to_expand_extra_isize fs/ext4/inode.c:5946 [inline] #2: 000000005dceefcf (&ei->xattr_sem){++++}, at: ext4_mark_inode_dirty+0x85a/0xb20 fs/ext4/inode.c:6025 #3: 00000000e4fc7f36 ((&timer.timer)){+.-.}, at: lockdep_copy_map include/linux/lockdep.h:173 [inline] #3: 00000000e4fc7f36 ((&timer.timer)){+.-.}, at: call_timer_fn+0x1db/0x920 kernel/time/timer.c:1316 #4: 000000003ffe23c0 (&p->pi_lock){-.-.}, at: try_to_wake_up+0xdc/0x1440 kernel/sched/core.c:1965 #5: 00000000d62cc738 (&rq->lock){-.-.}, at: rq_lock kernel/sched/sched.h:1124 [inline] #5: 00000000d62cc738 (&rq->lock){-.-.}, at: ttwu_queue kernel/sched/core.c:1845 [inline] #5: 00000000d62cc738 (&rq->lock){-.-.}, at: try_to_wake_up+0x958/0x1440 kernel/sched/core.c:2057 stack backtrace: CPU: 0 PID: 6120 Comm: syz-executor3 Not tainted 4.20.0-rc7+ #157 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x244/0x39d lib/dump_stack.c:113 print_circular_bug.isra.35.cold.54+0x1bd/0x27d kernel/locking/lockdep.c:1221 check_prev_add kernel/locking/lockdep.c:1863 [inline] check_prevs_add kernel/locking/lockdep.c:1976 [inline] validate_chain kernel/locking/lockdep.c:2347 [inline] __lock_acquire+0x3399/0x4c20 kernel/locking/lockdep.c:3341 lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x99/0xd0 kernel/locking/spinlock.c:152 down_trylock+0x13/0x70 kernel/locking/semaphore.c:136 __down_trylock_console_sem+0xae/0x1f0 kernel/printk/printk.c:219 console_trylock+0x15/0xa0 kernel/printk/printk.c:2247 console_trylock_spinning kernel/printk/printk.c:1653 [inline] vprintk_emit+0x372/0x990 kernel/printk/printk.c:1921 vprintk_default+0x28/0x30 kernel/printk/printk.c:1964 vprintk_func+0x7e/0x181 kernel/printk/printk_safe.c:398 printk+0xa7/0xcf kernel/printk/printk.c:1997 __list_add_valid.cold.2+0xf/0x2a lib/list_debug.c:23 __list_add include/linux/list.h:60 [inline] list_add include/linux/list.h:79 [inline] account_entity_enqueue+0x3a3/0x660 kernel/sched/fair.c:2679 enqueue_entity+0x2af/0x20a0 kernel/sched/fair.c:3893 enqueue_task_fair+0x24d/0xa50 kernel/sched/fair.c:5106 enqueue_task kernel/sched/core.c:730 [inline] activate_task+0x136/0x430 kernel/sched/core.c:751 ttwu_activate kernel/sched/core.c:1643 [inline] ttwu_do_activate+0xd5/0x1f0 kernel/sched/core.c:1702 ttwu_queue kernel/sched/core.c:1847 [inline] try_to_wake_up+0x9b3/0x1440 kernel/sched/core.c:2057 wake_up_process+0x10/0x20 kernel/sched/core.c:2129 process_timeout+0x31/0x40 kernel/time/timer.c:1733 call_timer_fn+0x272/0x920 kernel/time/timer.c:1326 expire_timers kernel/time/timer.c:1363 [inline] __run_timers+0x7e5/0xc70 kernel/time/timer.c:1682 run_timer_softirq+0x52/0xb0 kernel/time/timer.c:1695 __do_softirq+0x308/0xb7e kernel/softirq.c:292 ? kvm_ Lost 81 message(s)! ---[ end trace e1c9687e52e17adb ]--- RIP: 0010:__list_add_valid.cold.2+0xf/0x2a lib/list_debug.c:23 Code: d6 60 88 e8 a1 90 d2 fd 0f 0b 48 89 de 48 c7 c7 00 d6 60 88 e8 90 90 d2 fd 0f 0b 48 89 d9 48 c7 c7 c0 d6 60 88 e8 7f 90 d2 fd <0f> 0b 48 89 f1 48 c7 c7 40 d7 60 88 48 89 de e8 6b 90 d2 fd 0f 0b RSP: 0018:ffff8881dae06f88 EFLAGS: 00010082 RAX: 0000000000000075 RBX: ffff8881899100b0 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffffff8165e495 RDI: 0000000000000005 RBP: ffff8881dae06fa0 R08: ffff8881d27002c0 R09: fffffbfff12b2314 R10: fffffbfff12b2314 R11: ffffffff895918a3 R12: ffff8881d9ae8330 R13: 1ffff1103b5c0df9 R14: ffff8881dae07028 R15: ffff8881d9ae8330 FS: 0000000001d57940(0000) GS:ffff8881dae00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000001d60978 CR3: 00000001b7f36000 CR4: 00000000001406f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400