drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer issue
fix NULL pointer issue when read sysfs amdgpu_current_backlight_pwm sysfs node.
Call Trace:
[ 248.273833] BUG: kernel NULL pointer dereference, address:
0000000000000130
[ 248.273930] #PF: supervisor read access in kernel mode
[ 248.273993] #PF: error_code(0x0000) - not-present page
[ 248.274054] PGD 0 P4D 0
[ 248.274092] Oops: 0000 [#1] SMP PTI
[ 248.274138] CPU: 2 PID: 1377 Comm: cat Tainted: G OE 5.9.0-rc5-drm-next-5.9+ #1
[ 248.274233] Hardware name: System manufacturer System Product Name/Z170-A, BIOS 3802 03/15/2018
[ 248.274641] RIP: 0010:dc_link_get_backlight_level+0x5/0x70 [amdgpu]
[ 248.274718] Code: 67 ff ff ff 41 b9 03 00 00 00 e9 45 ff ff ff d1 ea e9 55 ff ff ff 0f 1f 44 00 00 66 2e
0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 <48> 8b 87 30 01 00 00 48 8b 00 48 8b 88 88 03 00 00 48 8d 81 e8 01
[ 248.274919] RSP: 0018:
ffffb5ad809b3df0 EFLAGS:
00010203
[ 248.274982] RAX:
ffffa0f77d1c0010 RBX:
ffffa0f793ae9168 RCX:
0000000000000001
[ 248.275064] RDX:
ffffa0f79753db00 RSI:
0000000000000001 RDI:
0000000000000000
[ 248.275145] RBP:
ffffb5ad809b3e00 R08:
ffffb5ad809b3da0 R09:
0000000000000000
[ 248.275225] R10:
ffffb5ad809b3e68 R11:
0000000000000000 R12:
ffffa0f793ae9190
[ 248.275306] R13:
ffffb5ad809b3ef0 R14:
0000000000000001 R15:
ffffa0f793ae9168
[ 248.275388] FS:
00007f5f1ec4d540(0000) GS:
ffffa0f79ec80000(0000) knlGS:
0000000000000000
[ 248.275480] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
[ 248.275547] CR2:
0000000000000130 CR3:
000000042a03c005 CR4:
00000000003706e0
[ 248.275628] DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
[ 248.275708] DR3:
0000000000000000 DR6:
00000000fffe0ff0 DR7:
0000000000000400
[ 248.275789] Call Trace:
[ 248.276124] ? current_backlight_read+0x24/0x40 [amdgpu]
[ 248.276194] seq_read+0xc3/0x3f0
[ 248.276240] full_proxy_read+0x5c/0x90
[ 248.276290] vfs_read+0xa7/0x190
[ 248.276334] ksys_read+0xa7/0xe0
[ 248.276379] __x64_sys_read+0x1a/0x20
[ 248.276429] do_syscall_64+0x37/0x80
[ 248.276477] entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 248.276538] RIP: 0033:0x7f5f1e75c191
[ 248.276585] Code: fe ff ff 48 8d 3d b7 9d 0a 00 48 83 ec 08 e8 46 4d 02 00 66 0f 1f 44 00 00 48 8d 05 71 07
2e 00 8b 00 85 c0 75 13 31 c0 0f 05 <48> 3d 00 f0 ff ff 77 57 f3 c3 0f 1f 44 00 00 41 54 55 49 89 d4 53Hw
[ 248.276784] RSP: 002b:
00007ffcb1fc3f38 EFLAGS:
00000246 ORIG_RAX:
0000000000000000
[ 248.276872] RAX:
ffffffffffffffda RBX:
0000000000020000 RCX:
00007f5f1e75c191
[ 248.276953] RDX:
0000000000020000 RSI:
00007f5f1ec2b000 RDI:
0000000000000003
[ 248.277034] RBP:
0000000000020000 R08:
00000000ffffffff R09:
0000000000000000
[ 248.277115] R10:
0000000000000022 R11:
0000000000000246 R12:
00007f5f1ec2b000
[ 248.277195] R13:
0000000000000003 R14:
00007f5f1ec2b00f R15:
0000000000020000
[ 248.277279] Modules linked in: amdgpu(OE) iommu_v2 gpu_sched ttm(OE) drm_kms_helper cec drm
i2c_algo_bit fb_sys_fops syscopyarea sysfillrect sysimgblt rpcsec_gss_krb5 auth_rpcgss nfsv4 nfs
lockd grace fscache nls_iso8859_1 snd_hda_codec_realtek snd_hda_codec_hdmi snd_hda_codec_generic
ledtrig_audio intel_rapl_msr intel_rapl_common snd_hda_intel snd_intel_dspcfg x86_pkg_temp_thermal
intel_powerclamp snd_hda_codec snd_hda_core snd_hwdep snd_pcm snd_seq_midi snd_seq_midi_event mei_hdcp
coretemp snd_rawmidi snd_seq kvm_intel kvm snd_seq_device snd_timer irqbypass joydev snd input_leds soundcore
crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd cryptd glue_helper rapl intel_cstate
mac_hid mei_me serio_raw mei eeepc_wmi wmi_bmof asus_wmi mxm_wmi intel_wmi_thunderbolt acpi_pad sparse_keymap
efi_pstore sch_fq_codel parport_pc ppdev lp parport sunrpc ip_tables x_tables autofs4 hid_logitech_hidpp
hid_logitech_dj hid_generic usbhid hid e1000e psmouse ahci libahci wmi video
[ 248.278211] CR2:
0000000000000130
[ 248.278221] ---[ end trace
1fbe72fe6f91091d ]---
[ 248.357226] RIP: 0010:dc_link_get_backlight_level+0x5/0x70 [amdgpu]
[ 248.357272] Code: 67 ff ff ff 41 b9 03 00 00 00 e9 45 ff ff ff d1 ea e9 55 ff ff ff 0f 1f 44 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 <48> 8b 87 30 01 00 00 48 8b 00 48 8b 88 88 03 00 00 48 8d 81 e8 01
Signed-off-by: Kevin Wang <kevin1.wang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>