[Intel-wired-lan] [PATCH net 01/13] ptp: Validate requests to enable time stamping of external signals.
Keller, Jacob E
jacob.e.keller at intel.com
Thu Nov 14 19:06:58 UTC 2019
> -----Original Message-----
> From: Richard Cochran <richardcochran at gmail.com>
> Sent: Thursday, November 14, 2019 10:45 AM
> To: netdev at vger.kernel.org
> Cc: intel-wired-lan at lists.osuosl.org; David Miller <davem at davemloft.net>;
> Brandon Streiff <brandon.streiff at ni.com>; Hall, Christopher S
> <christopher.s.hall at intel.com>; Eugenia Emantayev <eugenia at mellanox.com>;
> Felipe Balbi <felipe.balbi at linux.intel.com>; Feras Daoud
> <ferasda at mellanox.com>; Keller, Jacob E <jacob.e.keller at intel.com>; Kirsher,
> Jeffrey T <jeffrey.t.kirsher at intel.com>; Sergei Shtylyov
> <sergei.shtylyov at cogentembedded.com>; Stefan Sorensen
> <stefan.sorensen at spectralink.com>
> Subject: [PATCH net 01/13] ptp: Validate requests to enable time stamping of
> external signals.
>
> Commit 415606588c61 ("PTP: introduce new versions of IOCTLs")
> introduced a new external time stamp ioctl that validates the flags.
> This patch extends the validation to ensure that at least one rising
> or falling edge flag is set when enabling external time stamps.
>
> Signed-off-by: Richard Cochran <richardcochran at gmail.com>
> ---
> drivers/ptp/ptp_chardev.c | 18 +++++++++++++-----
> include/uapi/linux/ptp_clock.h | 1 +
> 2 files changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c
> index 67d0199840fd..cbbe1237ff8d 100644
> --- a/drivers/ptp/ptp_chardev.c
> +++ b/drivers/ptp/ptp_chardev.c
> @@ -149,11 +149,19 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd,
> unsigned long arg)
> err = -EFAULT;
> break;
> }
> - if (((req.extts.flags & ~PTP_EXTTS_VALID_FLAGS) ||
> - req.extts.rsv[0] || req.extts.rsv[1]) &&
> - cmd == PTP_EXTTS_REQUEST2) {
> - err = -EINVAL;
> - break;
> + if (cmd == PTP_EXTTS_REQUEST2) {
> + /* Make sure no reserved bit is set. */
> + if ((req.extts.flags & ~PTP_EXTTS_VALID_FLAGS) ||
> + req.extts.rsv[0] || req.extts.rsv[1]) {
> + err = -EINVAL;
> + break;
> + }
> + /* Ensure one of the rising/falling edge bits is set. */
> + if ((req.extts.flags & PTP_ENABLE_FEATURE) &&
> + (req.extts.flags & PTP_EXTTS_EDGES) == 0) {
> + err = -EINVAL;
> + break;
> + }
Just to confirm, these new ioctls haven't been around long enough to be concerned about this change?
Thanks,
Jake
More information about the Intel-wired-lan
mailing list