Commit 5da202c8 authored by Antonio Borneo's avatar Antonio Borneo Committed by Jakub Kicinski

net: stmmac: fix length of PTP clock's name string

The field "name" in struct ptp_clock_info has a fixed size of 16
chars and is used as zero terminated string by clock_name_show()
in drivers/ptp/ptp_sysfs.c
The current initialization value requires 17 chars to fit also the
null termination, and this causes overflow to the next bytes in
the struct when the string is read as null terminated:
	hexdump -C /sys/class/ptp/ptp0/clock_name
	00000000  73 74 6d 6d 61 63 5f 70  74 70 5f 63 6c 6f 63 6b  |stmmac_ptp_clock|
	00000010  a0 ac b9 03 0a                                    |.....|
where the extra 4 bytes (excluding the newline) after the string
represent the integer 0x03b9aca0 = 62500000 assigned to the field
"max_adj" that follows "name" in the same struct.

There is no strict requirement for the "name" content and in the
comment in ptp_clock_kernel.h it's reported it should just be 'A
short "friendly name" to identify the clock'.
Replace it with "stmmac ptp".
Signed-off-by: default avatarAntonio Borneo <antonio.borneo@st.com>
Fixes: 92ba6888 ("stmmac: add the support for PTP hw clock driver")
Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
parent 4123f637
...@@ -164,7 +164,7 @@ static int stmmac_enable(struct ptp_clock_info *ptp, ...@@ -164,7 +164,7 @@ static int stmmac_enable(struct ptp_clock_info *ptp,
/* structure describing a PTP hardware clock */ /* structure describing a PTP hardware clock */
static struct ptp_clock_info stmmac_ptp_clock_ops = { static struct ptp_clock_info stmmac_ptp_clock_ops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.name = "stmmac_ptp_clock", .name = "stmmac ptp",
.max_adj = 62500000, .max_adj = 62500000,
.n_alarm = 0, .n_alarm = 0,
.n_ext_ts = 0, .n_ext_ts = 0,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment