ptp: Return -EINVAL on ptp_clock_register if required ops are NULL
ptp_clock should never be registered unless it stubs one of gettimex64() or gettime64() and settime64(). WARN_ON_ONCE and error out if either set of function pointers is null. For consistency, n_alarm validation is also folded into the WARN_ON_ONCE. Suggested-by: Kuniyuki Iwashima <kuniyu@google.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com> Reviewed-by: Harshitha Ramamurthy <hramamurthy@google.com> Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Signed-off-by: Tim Hostetler <thostet@google.com> Acked-by: Richard Cochran <richardcochran@gmail.com> Link: https://patch.msgid.link/20251104225915.2040080-1-thostet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>pull/1354/merge
parent
89aec171d9
commit
dfb073d32c
|
|
@ -322,7 +322,9 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info,
|
|||
char debugfsname[16];
|
||||
size_t size;
|
||||
|
||||
if (info->n_alarm > PTP_MAX_ALARMS)
|
||||
if (WARN_ON_ONCE(info->n_alarm > PTP_MAX_ALARMS ||
|
||||
(!info->gettimex64 && !info->gettime64) ||
|
||||
!info->settime64))
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
/* Initialize a clock structure. */
|
||||
|
|
|
|||
Loading…
Reference in New Issue