Message ID | 20250211150913.772545-1-wwasko@nvidia.com (mailing list archive) |
---|---|
Headers | show |
Series | Permission checks for dynamic POSIX clocks | expand |
On Tue, Feb 11, 2025 at 05:09:10PM +0200, Wojtek Wasko wrote: > Dynamic clocks - such as PTP clocks - extend beyond the standard POSIX > clock API by using ioctl calls. While file permissions are enforced for > standard POSIX operations, they are not implemented for ioctl calls, > since the POSIX layer cannot differentiate between calls which modify > the clock's state (like enabling PPS output generation) and those that > don't (such as retrieving the clock's PPS capabilities). > > On the other hand, drivers implementing the dynamic clocks lack the > necessary information context to enforce permission checks themselves. > > Add a struct file pointer to the POSIX clock context and use it to > implement the appropriate permission checks on PTP chardevs. Add a > readonly option to testptp. > > Changes in v2: > - Store file pointer in POSIX clock context rather than fmode in the PTP > clock's private data, as suggested by Richard. > - Move testptp.c changes into separate patch. > > Wojtek Wasko (3): > posix clocks: Store file pointer in clock context > ptp: Add file permission checks on PHCs > testptp: Add option to open PHC in readonly mode For the series: Acked-by: Richard Cochran <richardcochran@gmail.com>
On 11/02/2025 15:09, Wojtek Wasko wrote: > Dynamic clocks - such as PTP clocks - extend beyond the standard POSIX > clock API by using ioctl calls. While file permissions are enforced for > standard POSIX operations, they are not implemented for ioctl calls, > since the POSIX layer cannot differentiate between calls which modify > the clock's state (like enabling PPS output generation) and those that > don't (such as retrieving the clock's PPS capabilities). > > On the other hand, drivers implementing the dynamic clocks lack the > necessary information context to enforce permission checks themselves. > > Add a struct file pointer to the POSIX clock context and use it to > implement the appropriate permission checks on PTP chardevs. Add a > readonly option to testptp. > > Changes in v2: > - Store file pointer in POSIX clock context rather than fmode in the PTP > clock's private data, as suggested by Richard. > - Move testptp.c changes into separate patch. > > Wojtek Wasko (3): > posix clocks: Store file pointer in clock context > ptp: Add file permission checks on PHCs > testptp: Add option to open PHC in readonly mode > > drivers/ptp/ptp_chardev.c | 16 ++++++++++++ > include/linux/posix-clock.h | 6 ++++- > kernel/time/posix-clock.c | 1 + > tools/testing/selftests/ptp/testptp.c | 37 +++++++++++++++++---------- > 4 files changed, 45 insertions(+), 15 deletions(-) > For the series: Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>