From 2c53f8c40495fbe39613f8cf3a800474846fa96b Mon Sep 17 00:00:00 2001 From: Petr Oros Date: Mon, 24 Feb 2020 16:46:48 -0500 Subject: [PATCH 002/312] [netdrv] net: reject PTP periodic output requests with unsupported flags Message-id: Patchwork-id: 295286 Patchwork-instance: patchwork O-Subject: [RHEL8.3 net PATCH 03/14] net: reject PTP periodic output requests with unsupported flags Bugzilla: 1795192 RH-Acked-by: Neil Horman RH-Acked-by: Prarit Bhargava RH-Acked-by: Corinna Vinschen RH-Acked-by: Jarod Wilson Bugzilla: http://bugzilla.redhat.com/show_bug.cgi?id=1795192 Conflicts: \ - Unmerged path drivers/net/ethernet/microchip/lan743x_ptp.c Upstream commit(s): commit 7f9048f1df6f0c1c7a74a15c8b4ce033a753f274 Author: Jacob Keller Date: Thu Nov 14 10:44:56 2019 -0800 net: reject PTP periodic output requests with unsupported flags Commit 823eb2a3c4c7 ("PTP: add support for one-shot output") introduced a new flag for the PTP periodic output request ioctl. This flag is not currently supported by any driver. Fix all drivers which implement the periodic output request ioctl to explicitly reject any request with flags they do not understand. This ensures that the driver does not accidentally misinterpret the PTP_PEROUT_ONE_SHOT flag, or any new flag introduced in the future. This is important for forward compatibility: if a new flag is introduced, the driver should reject requests to enable the flag until the driver has actually been modified to support the flag in question. Cc: Felipe Balbi Cc: David S. Miller Cc: Christopher Hall Signed-off-by: Jacob Keller Signed-off-by: Richard Cochran Tested-by: Aaron Brown Reviewed-by: Saeed Mahameed Signed-off-by: David S. Miller Signed-off-by: Petr Oros Signed-off-by: Timothy Redaelli Signed-off-by: Frantisek Hrbata --- drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c index 0059b290e095..cff6b60de304 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c @@ -290,6 +290,10 @@ static int mlx5_perout_configure(struct ptp_clock_info *ptp, if (!MLX5_PPS_CAP(mdev)) return -EOPNOTSUPP; + /* Reject requests with unsupported flags */ + if (rq->perout.flags) + return -EOPNOTSUPP; + if (rq->perout.index >= clock->ptp_info.n_pins) return -EINVAL; -- 2.13.6