linux/drivers/ptp
Thomas Weißschuh 81846070cb ptp: Ensure info->enable callback is always set
commit fd53aa40e6 upstream.

The ioctl and sysfs handlers unconditionally call the ->enable callback.
Not all drivers implement that callback, leading to NULL dereferences.
Example of affected drivers: ptp_s390.c, ptp_vclock.c and ptp_mock.c.

Instead use a dummy callback if no better was specified by the driver.

Fixes: d94ba80ebb ("ptp: Added a brand new class driver for ptp clocks.")
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Link: https://patch.msgid.link/20250123-ptp-enable-v1-1-b015834d3a47@weissschuh.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-02-17 09:40:41 +01:00
..
Kconfig net: ptp: create a mock-up PTP Hardware Clock driver 2023-08-09 15:59:21 -07:00
Makefile net: ptp: create a mock-up PTP Hardware Clock driver 2023-08-09 15:59:21 -07:00
ptp_chardev.c ptp: Properly handle compat ioctls 2025-02-08 09:52:30 +01:00
ptp_clock.c ptp: Ensure info->enable callback is always set 2025-02-17 09:40:41 +01:00
ptp_clockmatrix.c ptp: ptp_clockmatrix: Add .getmaxphase ptp_clock_info callback 2023-06-20 09:02:33 +01:00
ptp_clockmatrix.h ptp: ptp_clockmatrix: Add .getmaxphase ptp_clock_info callback 2023-06-20 09:02:33 +01:00
ptp_dfl_tod.c ptp: add ToD device driver for Intel FPGA cards 2023-03-29 21:25:48 -07:00
ptp_dte.c ptp: convert remaining drivers to adjfine interface 2022-11-11 10:58:39 +00:00
ptp_idt82p33.c ptp: idt82p33: Add .getmaxphase ptp_clock_info callback 2023-06-20 09:02:33 +01:00
ptp_idt82p33.h ptp: idt82p33: Add .getmaxphase ptp_clock_info callback 2023-06-20 09:02:33 +01:00
ptp_ines.c ptp: ines: drop of_match_ptr for ID table 2023-03-15 21:14:57 -07:00
ptp_kvm_arm.c ptp: kvm: Use decrypted memory in confidential guest on x86 2023-03-17 21:57:52 -07:00
ptp_kvm_common.c ptp: kvm: Use decrypted memory in confidential guest on x86 2023-03-17 21:57:52 -07:00
ptp_kvm_x86.c ptp: kvm: x86: Return EOPNOTSUPP instead of ENODEV from kvm_arch_ptp_init() 2024-12-19 18:11:28 +01:00
ptp_mock.c net: ptp: create a mock-up PTP Hardware Clock driver 2023-08-09 15:59:21 -07:00
ptp_ocp.c pps: Fix a use-after-free 2025-02-08 09:52:38 +01:00
ptp_pch.c ptp_phc: convert .adjfreq to .adjfine 2022-11-11 10:58:39 +00:00
ptp_private.h ptp: annotate data-race around q->head and q->tail 2023-11-28 17:19:51 +00:00
ptp_qoriq.c ptp: Explicitly include correct DT includes 2023-07-18 11:27:49 +02:00
ptp_qoriq_debugfs.c ptp_qoriq: add little enadian support 2019-02-12 12:58:48 -05:00
ptp_sysfs.c ptp: fix integer overflow in max_vclocks_store 2024-06-27 13:49:07 +02:00
ptp_vclock.c ptp: vclock: use mutex to fix "sleep on atomic" bug 2023-02-22 21:23:48 -08:00
ptp_vmw.c Networking changes for 6.2. 2022-12-13 15:47:48 -08:00