Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: phy: Update SERDES_MAX to be SERDES_MAX + 1

SERDES_MAX is a valid value to index ctrl->phys in
drivers/phy/mscc/phy-ocelot-serdes.c. But, currently,
there is an out-of-bounds bug in the mentioned driver
when reading from ctrl->phys, because the size of
array ctrl->phys is SERDES_MAX.

Partially fix this by updating SERDES_MAX to be SERDES6G_MAX + 1.

Notice that this is the first part of the solution to
the out-of-bounds bug mentioned above. Although this
change is not dependent on any other one.

Suggested-by: Quentin Schulz <quentin.schulz@bootlin.com>
Reviewed-by: Quentin Schulz <quentin.schulz@bootlin.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Gustavo A. R. Silva and committed by
David S. Miller
81fa7a69 29e270fc

+1 -1
+1 -1
include/dt-bindings/phy/phy-ocelot-serdes.h
··· 7 7 #define SERDES1G_MAX SERDES1G(5) 8 8 #define SERDES6G(x) (SERDES1G_MAX + 1 + (x)) 9 9 #define SERDES6G_MAX SERDES6G(2) 10 - #define SERDES_MAX SERDES6G_MAX 10 + #define SERDES_MAX (SERDES6G_MAX + 1) 11 11 12 12 #endif