Commit 6ab753b5 authored by Tim Hostetler's avatar Tim Hostetler Committed by Jakub Kicinski
Browse files

gve: Implement gettimex64 with -EOPNOTSUPP



gve implemented a ptp_clock for sole use of do_aux_work at this time.
ptp_clock_gettime() and ptp_sys_offset() assume every ptp_clock has
implemented either gettimex64 or gettime64. Stub gettimex64 and return
-EOPNOTSUPP to prevent NULL dereferencing.

Fixes: acd16380 ("gve: Add initial PTP device support")
Reported-by: default avatar <syzbot+c8c0e7ccabd456541612@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=c8c0e7ccabd456541612


Signed-off-by: default avatarTim Hostetler <thostet@google.com>
Reviewed-by: default avatarHarshitha Ramamurthy <hramamurthy@google.com>
Reviewed-by: default avatarKuniyuki Iwashima <kuniyu@google.com>
Signed-off-by: default avatarJoshua Washington <joshwash@google.com>
Link: https://patch.msgid.link/20251029184555.3852952-2-joshwash@google.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 284987ab
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -26,6 +26,13 @@ int gve_clock_nic_ts_read(struct gve_priv *priv)
	return 0;
}

static int gve_ptp_gettimex64(struct ptp_clock_info *info,
			      struct timespec64 *ts,
			      struct ptp_system_timestamp *sts)
{
	return -EOPNOTSUPP;
}

static long gve_ptp_do_aux_work(struct ptp_clock_info *info)
{
	const struct gve_ptp *ptp = container_of(info, struct gve_ptp, info);
@@ -47,6 +54,7 @@ static long gve_ptp_do_aux_work(struct ptp_clock_info *info)
static const struct ptp_clock_info gve_ptp_caps = {
	.owner          = THIS_MODULE,
	.name		= "gve clock",
	.gettimex64	= gve_ptp_gettimex64,
	.do_aux_work	= gve_ptp_do_aux_work,
};