Commit 3cc12bb
firmware: arm_scmi: Fix NULL pointer dereference during fastchannel init
The scmi_perf_domain_lookup requires the protocol handle to have the
private data set, which is yet to happen during the fastchannel init
scenario. This results in a NULL pointer dereference. Fix this by using
the pre-populated perf_dom_info to pass on the required information
instead.
| scmi_perf_protocol_init+0x434/0x678
| scmi_get_protocol_instance+0x168/0x29c
| scmi_devres_protocol_instance_get+0x50/0xa0
| scmi_devm_protocol_get+0x20/0x50
| scmi_cpufreq_probe+0x34/0xd4
| scmi_dev_probe+0x28/0x3c
| really_probe+0x148/0x2ac
| __driver_probe_device+0x78/0x12c
| driver_probe_device+0x40/0x160
| __device_attach_driver+0xb8/0x134
| bus_for_each_drv+0x80/0xdc
| __device_attach+0xa8/0x1b0
| device_initial_probe+0x14/0x20
| bus_probe_device+0xa8/0xac
| device_add+0x5cc/0x778
| device_register+0x20/0x30
| __scmi_device_create.part.0+0xec/0x1cc
| scmi_device_create+0x180/0x1c4
| scmi_create_protocol_devices+0x4c/0xb0
| scmi_probe+0x660/0x738
| platform_probe+0x68/0xdc
| really_probe+0x148/0x2ac
| __driver_probe_device+0x78/0x12c
| driver_probe_device+0x40/0x160
| __device_attach_driver+0xb8/0x134
| bus_for_each_drv+0x80/0xdc
| __device_attach+0xa8/0x1b0
| device_initial_probe+0x14/0x20
| bus_probe_device+0xa8/0xac
| deferred_probe_work_func+0x88/0xc0
| process_one_work+0x13c/0x264
| worker_thread+0x32c/0x438
| kthread+0x118/0x11c
| ret_from_fork+0x10/0x20
Fixes: 619bc6e ("firmware: arm_scmi: Populate fastchannel info only if set operations are allowed")
Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
Link: https://lore.kernel.org/r/20231129065748.19871-2-quic_sibis@quicinc.com
Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>1 parent e4e6e8f commit 3cc12bb
1 file changed
Lines changed: 7 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
759 | 759 | | |
760 | 760 | | |
761 | 761 | | |
762 | | - | |
| 762 | + | |
763 | 763 | | |
764 | 764 | | |
765 | | - | |
766 | | - | |
767 | | - | |
768 | | - | |
769 | | - | |
770 | 765 | | |
771 | 766 | | |
772 | 767 | | |
773 | 768 | | |
774 | 769 | | |
775 | 770 | | |
776 | | - | |
| 771 | + | |
777 | 772 | | |
778 | 773 | | |
779 | 774 | | |
780 | | - | |
| 775 | + | |
781 | 776 | | |
782 | 777 | | |
783 | 778 | | |
784 | 779 | | |
785 | | - | |
| 780 | + | |
786 | 781 | | |
787 | 782 | | |
788 | 783 | | |
789 | 784 | | |
790 | 785 | | |
791 | | - | |
| 786 | + | |
792 | 787 | | |
793 | 788 | | |
794 | 789 | | |
795 | | - | |
| 790 | + | |
796 | 791 | | |
797 | 792 | | |
798 | 793 | | |
| |||
1102 | 1097 | | |
1103 | 1098 | | |
1104 | 1099 | | |
1105 | | - | |
| 1100 | + | |
1106 | 1101 | | |
1107 | 1102 | | |
1108 | 1103 | | |
| |||
0 commit comments