• Kim Phillips's avatar
    Revert "drm/ast: Add detect function support" · 595cb5e0
    Kim Phillips authored
    This reverts commit aae74ff9,
    since it prevents my AMD Milan system from booting, with:
    
    [   27.189558] BUG: kernel NULL pointer dereference, address: 0000000000000000
    [   27.197506] #PF: supervisor write access in kernel mode
    [   27.203333] #PF: error_code(0x0002) - not-present page
    [   27.209064] PGD 0 P4D 0
    [   27.211885] Oops: 0002 [#1] PREEMPT SMP NOPTI
    [   27.216744] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.15.0-rc6+ #15
    [   27.223928] Hardware name: AMD Corporation ETHANOL_X/ETHANOL_X, BIOS RXM1006B 08/20/2021
    [   27.232955] RIP: 0010:run_timer_softirq+0x38b/0x4a0
    [   27.238397] Code: 4c 89 f7 e8 37 27 ac 00 49 c7 46 08 00 00 00 00 49 8b 04 24 48 85 c0 74 71 4d 8b 3c 24 4d 89 7e 08 66 90 49 8b 07 49 8b 57 08 <48> 89 02 48 85 c0 74 04 48 89 50 08 49 8b 77 18 41 f6 47 22 20 4c
    [   27.259350] RSP: 0018:ffffc42d00003ee8 EFLAGS: 00010086
    [   27.265176] RAX: dead000000000122 RBX: 0000000000000000 RCX: 0000000000000101
    [   27.273134] RDX: 0000000000000000 RSI: 0000000000000087 RDI: 0000000000000001
    [   27.281084] RBP: ffffc42d00003f70 R08: 0000000000000000 R09: 00000000000003eb
    [   27.289043] R10: ffffa0860cb300d0 R11: ffffa0c44de290b0 R12: ffffc42d00003ef8
    [   27.297002] R13: 00000000fffef200 R14: ffffa0c44de18dc0 R15: ffffa0867a882350
    [   27.304961] FS:  0000000000000000(0000) GS:ffffa0c44de00000(0000) knlGS:0000000000000000
    [   27.313988] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [   27.320396] CR2: 0000000000000000 CR3: 000000014569c001 CR4: 0000000000770ef0
    [   27.328346] PKRU: 55555554
    [   27.331359] Call Trace:
    [   27.334073]  <IRQ>
    [   27.336314]  ? __queue_work+0x420/0x420
    [   27.340589]  ? lapic_next_event+0x21/0x30
    [   27.345060]  ? clockevents_program_event+0x8f/0xe0
    [   27.350402]  __do_softirq+0xfb/0x2db
    [   27.354388]  irq_exit_rcu+0x98/0xd0
    [   27.358275]  sysvec_apic_timer_interrupt+0xac/0xd0
    [   27.363620]  </IRQ>
    [   27.365955]  asm_sysvec_apic_timer_interrupt+0x12/0x20
    [   27.371685] RIP: 0010:cpuidle_enter_state+0xcc/0x390
    [   27.377292] Code: 3d 01 79 0a 50 e8 44 ed 77 ff 49 89 c6 0f 1f 44 00 00 31 ff e8 f5 f8 77 ff 80 7d d7 00 0f 85 e6 01 00 00 fb 66 0f 1f 44 00 00 <45> 85 ff 0f 88 17 01 00 00 49 63 c7 4c 2b 75 c8 48 8d 14 40 48 8d
    [   27.398243] RSP: 0018:ffffffffb0e03dc8 EFLAGS: 00000246
    [   27.404069] RAX: ffffa0c44de00000 RBX: 0000000000000001 RCX: 000000000000001f
    [   27.412028] RDX: 0000000000000000 RSI: ffffffffb0bafc1f RDI: ffffffffb0bbdb81
    [   27.419986] RBP: ffffffffb0e03e00 R08: 00000006549f8f3f R09: ffffffffb1065200
    [   27.427935] R10: ffffa0c44de27ae4 R11: ffffa0c44de27ac4 R12: ffffa0c5634cb000
    [   27.435894] R13: ffffffffb1065200 R14: 00000006549f8f3f R15: 0000000000000001
    [   27.443854]  ? cpuidle_enter_state+0xbb/0x390
    [   27.448712]  cpuidle_enter+0x2e/0x40
    [   27.452695]  call_cpuidle+0x23/0x40
    [   27.456584]  do_idle+0x1f0/0x270
    [   27.460181]  cpu_startup_entry+0x20/0x30
    [   27.464553]  rest_init+0xd4/0xe0
    [   27.468149]  arch_call_rest_init+0xe/0x1b
    [   27.472619]  start_kernel+0x6bc/0x6e2
    [   27.476764]  x86_64_start_reservations+0x24/0x26
    [   27.481912]  x86_64_start_kernel+0x75/0x79
    [   27.486477]  secondary_startup_64_no_verify+0xb0/0xbb
    [   27.492111] Modules linked in: kvm_amd(+) kvm ipmi_si(+) ipmi_devintf rapl wmi_bmof ipmi_msghandler input_leds ccp k10temp mac_hid sch_fq_codel msr ip_tables x_tables autofs4 btrfs blake2b_generic zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear ast i2c_algo_bit drm_vram_helper drm_ttm_helper ttm drm_kms_helper crct10dif_pclmul crc32_pclmul ghash_clmulni_intel syscopyarea aesni_intel sysfillrect crypto_simd sysimgblt fb_sys_fops cryptd hid_generic cec nvme ahci usbhid drm e1000e nvme_core hid libahci i2c_piix4 wmi
    [   27.551789] CR2: 0000000000000000
    [   27.555482] ---[ end trace 897987dfe93dccc6 ]---
    [   27.560630] RIP: 0010:run_timer_softirq+0x38b/0x4a0
    [   27.566069] Code: 4c 89 f7 e8 37 27 ac 00 49 c7 46 08 00 00 00 00 49 8b 04 24 48 85 c0 74 71 4d 8b 3c 24 4d 89 7e 08 66 90 49 8b 07 49 8b 57 08 <48> 89 02 48 85 c0 74 04 48 89 50 08 49 8b 77 18 41 f6 47 22 20 4c
    [   27.587021] RSP: 0018:ffffc42d00003ee8 EFLAGS: 00010086
    [   27.592848] RAX: dead000000000122 RBX: 0000000000000000 RCX: 0000000000000101
    [   27.600808] RDX: 0000000000000000 RSI: 0000000000000087 RDI: 0000000000000001
    [   27.608765] RBP: ffffc42d00003f70 R08: 0000000000000000 R09: 00000000000003eb
    [   27.616716] R10: ffffa0860cb300d0 R11: ffffa0c44de290b0 R12: ffffc42d00003ef8
    [   27.624673] R13: 00000000fffef200 R14: ffffa0c44de18dc0 R15: ffffa0867a882350
    [   27.632624] FS:  0000000000000000(0000) GS:ffffa0c44de00000(0000) knlGS:0000000000000000
    [   27.641650] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [   27.648159] CR2: 0000000000000000 CR3: 000000014569c001 CR4: 0000000000770ef0
    [   27.656119] PKRU: 55555554
    [   27.659133] Kernel panic - not syncing: Fatal exception in interrupt
    [   29.030411] Shutting down cpus with NMI
    [   29.034699] Kernel Offset: 0x2e600000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
    [   29.046790] ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---
    
    Since unreliable, found by bisecting for KASAN's use-after-free in
    enqueue_timer+0x4f/0x1e0, where the timer callback is called.
    Reported-by: default avatarKim Phillips <kim.phillips@amd.com>
    Signed-off-by: default avatarKim Phillips <kim.phillips@amd.com>
    Fixes: aae74ff9 ("drm/ast: Add detect function support")
    Link: https://lore.kernel.org/lkml/0f7871be-9ca6-5ae4-3a40-5db9a8fb2365@amd.com/
    Cc: Ainux <ainux.wang@gmail.com>
    Cc: Thomas Zimmermann <tzimmermann@suse.de>
    Cc: David Airlie <airlied@redhat.com>
    Cc: David Airlie <airlied@linux.ie>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: sterlingteng@gmail.com
    Cc: chenhuacai@kernel.org
    Cc: Chuck Lever III <chuck.lever@oracle.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Jon Grimm <jon.grimm@amd.com>
    Cc: dri-devel <dri-devel@lists.freedesktop.org>
    Cc: linux-kernel <linux-kernel@vger.kernel.org>
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20211021153006.92983-1-kim.phillips@amd.com
    595cb5e0
ast_mode.c 42.6 KB