Message ID | 20250310-jk-net-fixes-supported-extts-flags-v1-5-854ffb5f3a96@intel.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | net: ptp: fix egregious supported flag checks | expand |
On 10/03/2025 22:16, Jacob Keller wrote: > The ptp_ocp_signal_from_perout() function supports PTP_PEROUT_DUTY_CYCLE > and PTP_PEROUT_PHASE. It does not support PTP_PEROUT_ONE_SHOT, but does not > reject a request with such an unsupported flag. > > Add the appropriate check to ensure that unsupported requests are rejected > both for PTP_PEROUT_ONE_SHOT as well as any future flags. > > Fixes: 1aa66a3a135a ("ptp: ocp: Program the signal generators via PTP_CLK_REQ_PEROUT") > Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> > --- > drivers/ptp/ptp_ocp.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/ptp/ptp_ocp.c b/drivers/ptp/ptp_ocp.c > index b651087f426f50a73229ca57634fc5d6912e0a87..4a87af0980d695a9ab1b23e2544f620759ccb892 100644 > --- a/drivers/ptp/ptp_ocp.c > +++ b/drivers/ptp/ptp_ocp.c > @@ -2090,6 +2090,10 @@ ptp_ocp_signal_from_perout(struct ptp_ocp *bp, int gen, > { > struct ptp_ocp_signal s = { }; > > + if (req->flags & ~(PTP_PEROUT_DUTY_CYCLE | > + PTP_PEROUT_PHASE)) > + return -EOPNOTSUPP; > + > s.polarity = bp->signal[gen].polarity; > s.period = ktime_set(req->period.sec, req->period.nsec); > if (!s.period) > Thanks, Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
diff --git a/drivers/ptp/ptp_ocp.c b/drivers/ptp/ptp_ocp.c index b651087f426f50a73229ca57634fc5d6912e0a87..4a87af0980d695a9ab1b23e2544f620759ccb892 100644 --- a/drivers/ptp/ptp_ocp.c +++ b/drivers/ptp/ptp_ocp.c @@ -2090,6 +2090,10 @@ ptp_ocp_signal_from_perout(struct ptp_ocp *bp, int gen, { struct ptp_ocp_signal s = { }; + if (req->flags & ~(PTP_PEROUT_DUTY_CYCLE | + PTP_PEROUT_PHASE)) + return -EOPNOTSUPP; + s.polarity = bp->signal[gen].polarity; s.period = ktime_set(req->period.sec, req->period.nsec); if (!s.period)
The ptp_ocp_signal_from_perout() function supports PTP_PEROUT_DUTY_CYCLE and PTP_PEROUT_PHASE. It does not support PTP_PEROUT_ONE_SHOT, but does not reject a request with such an unsupported flag. Add the appropriate check to ensure that unsupported requests are rejected both for PTP_PEROUT_ONE_SHOT as well as any future flags. Fixes: 1aa66a3a135a ("ptp: ocp: Program the signal generators via PTP_CLK_REQ_PEROUT") Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> --- drivers/ptp/ptp_ocp.c | 4 ++++ 1 file changed, 4 insertions(+)