From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: Re: [RFC PATCH net-next 4/4] net: dp83869: Add RGMII internal delay configuration
Date: Tue, 26 May 2020 16:31:49 +0300 [thread overview]
Message-ID: <20200526133149.GS30374@kadam> (raw)
In-Reply-To: <20200521174834.3234-5-dmurphy@ti.com>
[-- Attachment #1: Type: text/plain, Size: 6729 bytes --]
Hi Dan,
url: https://github.com/0day-ci/linux/commits/Dan-Murphy/RGMII-Internal-delay-common-property/20200522-015509
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git de1b99ef2aa1e982c86b15853e013c6e3dbc1e7a
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/net/phy/dp83869.c:221 dp83869_of_init() error: buffer overflow 'dp83869_internal_delay' 16 <= 16
Old smatch warnings:
drivers/net/phy/dp83869.c:231 dp83869_of_init() error: buffer overflow 'dp83869_internal_delay' 16 <= 16
# https://github.com/0day-ci/linux/commit/c27cb3ace00f1b89679d6542f9ee2eb8faa76112
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout c27cb3ace00f1b89679d6542f9ee2eb8faa76112
vim +/dp83869_internal_delay +221 drivers/net/phy/dp83869.c
01db923e83779b Dan Murphy 2019-11-13 174 static int dp83869_of_init(struct phy_device *phydev)
01db923e83779b Dan Murphy 2019-11-13 175 {
01db923e83779b Dan Murphy 2019-11-13 176 struct dp83869_private *dp83869 = phydev->priv;
01db923e83779b Dan Murphy 2019-11-13 177 struct device *dev = &phydev->mdio.dev;
01db923e83779b Dan Murphy 2019-11-13 178 struct device_node *of_node = dev->of_node;
c27cb3ace00f1b Dan Murphy 2020-05-21 179 int delay_size = ARRAY_SIZE(dp83869_internal_delay);
01db923e83779b Dan Murphy 2019-11-13 180 int ret;
01db923e83779b Dan Murphy 2019-11-13 181
01db923e83779b Dan Murphy 2019-11-13 182 if (!of_node)
01db923e83779b Dan Murphy 2019-11-13 183 return -ENODEV;
01db923e83779b Dan Murphy 2019-11-13 184
01db923e83779b Dan Murphy 2019-11-13 185 dp83869->io_impedance = -EINVAL;
01db923e83779b Dan Murphy 2019-11-13 186
01db923e83779b Dan Murphy 2019-11-13 187 /* Optional configuration */
01db923e83779b Dan Murphy 2019-11-13 188 ret = of_property_read_u32(of_node, "ti,clk-output-sel",
01db923e83779b Dan Murphy 2019-11-13 189 &dp83869->clk_output_sel);
01db923e83779b Dan Murphy 2019-11-13 190 if (ret || dp83869->clk_output_sel > DP83869_CLK_O_SEL_REF_CLK)
01db923e83779b Dan Murphy 2019-11-13 191 dp83869->clk_output_sel = DP83869_CLK_O_SEL_REF_CLK;
01db923e83779b Dan Murphy 2019-11-13 192
01db923e83779b Dan Murphy 2019-11-13 193 ret = of_property_read_u32(of_node, "ti,op-mode", &dp83869->mode);
01db923e83779b Dan Murphy 2019-11-13 194 if (ret == 0) {
01db923e83779b Dan Murphy 2019-11-13 195 if (dp83869->mode < DP83869_RGMII_COPPER_ETHERNET ||
01db923e83779b Dan Murphy 2019-11-13 196 dp83869->mode > DP83869_SGMII_COPPER_ETHERNET)
01db923e83779b Dan Murphy 2019-11-13 197 return -EINVAL;
01db923e83779b Dan Murphy 2019-11-13 198 }
01db923e83779b Dan Murphy 2019-11-13 199
01db923e83779b Dan Murphy 2019-11-13 200 if (of_property_read_bool(of_node, "ti,max-output-impedance"))
01db923e83779b Dan Murphy 2019-11-13 201 dp83869->io_impedance = DP83869_IO_MUX_CFG_IO_IMPEDANCE_MAX;
01db923e83779b Dan Murphy 2019-11-13 202 else if (of_property_read_bool(of_node, "ti,min-output-impedance"))
01db923e83779b Dan Murphy 2019-11-13 203 dp83869->io_impedance = DP83869_IO_MUX_CFG_IO_IMPEDANCE_MIN;
01db923e83779b Dan Murphy 2019-11-13 204
01db923e83779b Dan Murphy 2019-11-13 205 if (of_property_read_bool(of_node, "enet-phy-lane-swap"))
01db923e83779b Dan Murphy 2019-11-13 206 dp83869->port_mirroring = DP83869_PORT_MIRRORING_EN;
01db923e83779b Dan Murphy 2019-11-13 207 else
01db923e83779b Dan Murphy 2019-11-13 208 dp83869->port_mirroring = DP83869_PORT_MIRRORING_DIS;
01db923e83779b Dan Murphy 2019-11-13 209
01db923e83779b Dan Murphy 2019-11-13 210 if (of_property_read_u32(of_node, "rx-fifo-depth",
01db923e83779b Dan Murphy 2019-11-13 211 &dp83869->rx_fifo_depth))
01db923e83779b Dan Murphy 2019-11-13 212 dp83869->rx_fifo_depth = DP83869_PHYCR_FIFO_DEPTH_4_B_NIB;
01db923e83779b Dan Murphy 2019-11-13 213
01db923e83779b Dan Murphy 2019-11-13 214 if (of_property_read_u32(of_node, "tx-fifo-depth",
01db923e83779b Dan Murphy 2019-11-13 215 &dp83869->tx_fifo_depth))
01db923e83779b Dan Murphy 2019-11-13 216 dp83869->tx_fifo_depth = DP83869_PHYCR_FIFO_DEPTH_4_B_NIB;
01db923e83779b Dan Murphy 2019-11-13 217
c27cb3ace00f1b Dan Murphy 2020-05-21 218 dp83869->rx_id_delay = DP83869_RGMII_CLK_DELAY_INV;
c27cb3ace00f1b Dan Murphy 2020-05-21 219 ret = of_property_read_u32(of_node, "rx-internal-delay",
c27cb3ace00f1b Dan Murphy 2020-05-21 220 &dp83869->rx_id_delay);
c27cb3ace00f1b Dan Murphy 2020-05-21 @221 if (!ret && dp83869->rx_id_delay > dp83869_internal_delay[delay_size]) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Out of bounds. Not clear what was intended here.
c27cb3ace00f1b Dan Murphy 2020-05-21 222 phydev_err(phydev,
c27cb3ace00f1b Dan Murphy 2020-05-21 223 "rx-internal-delay value of %u out of range\n",
c27cb3ace00f1b Dan Murphy 2020-05-21 224 dp83869->rx_id_delay);
c27cb3ace00f1b Dan Murphy 2020-05-21 225 return -EINVAL;
c27cb3ace00f1b Dan Murphy 2020-05-21 226 }
c27cb3ace00f1b Dan Murphy 2020-05-21 227
c27cb3ace00f1b Dan Murphy 2020-05-21 228 dp83869->tx_id_delay = DP83869_RGMII_CLK_DELAY_INV;
c27cb3ace00f1b Dan Murphy 2020-05-21 229 ret = of_property_read_u32(of_node, "tx-internal-delay",
c27cb3ace00f1b Dan Murphy 2020-05-21 230 &dp83869->tx_id_delay);
c27cb3ace00f1b Dan Murphy 2020-05-21 231 if (!ret && dp83869->tx_id_delay > dp83869_internal_delay[delay_size]) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Also out of bounds.
c27cb3ace00f1b Dan Murphy 2020-05-21 232 phydev_err(phydev,
c27cb3ace00f1b Dan Murphy 2020-05-21 233 "tx-internal-delay value of %u out of range\n",
c27cb3ace00f1b Dan Murphy 2020-05-21 234 dp83869->tx_id_delay);
c27cb3ace00f1b Dan Murphy 2020-05-21 235 return -EINVAL;
c27cb3ace00f1b Dan Murphy 2020-05-21 236 }
c27cb3ace00f1b Dan Murphy 2020-05-21 237
786c4a5372e119 Dan Murphy 2019-11-26 238 return ret;
01db923e83779b Dan Murphy 2019-11-13 239 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 72497 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC PATCH net-next 4/4] net: dp83869: Add RGMII internal delay configuration
Date: Tue, 26 May 2020 16:31:49 +0300 [thread overview]
Message-ID: <20200526133149.GS30374@kadam> (raw)
In-Reply-To: <20200521174834.3234-5-dmurphy@ti.com>
[-- Attachment #1: Type: text/plain, Size: 6729 bytes --]
Hi Dan,
url: https://github.com/0day-ci/linux/commits/Dan-Murphy/RGMII-Internal-delay-common-property/20200522-015509
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git de1b99ef2aa1e982c86b15853e013c6e3dbc1e7a
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
drivers/net/phy/dp83869.c:221 dp83869_of_init() error: buffer overflow 'dp83869_internal_delay' 16 <= 16
Old smatch warnings:
drivers/net/phy/dp83869.c:231 dp83869_of_init() error: buffer overflow 'dp83869_internal_delay' 16 <= 16
# https://github.com/0day-ci/linux/commit/c27cb3ace00f1b89679d6542f9ee2eb8faa76112
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout c27cb3ace00f1b89679d6542f9ee2eb8faa76112
vim +/dp83869_internal_delay +221 drivers/net/phy/dp83869.c
01db923e83779b Dan Murphy 2019-11-13 174 static int dp83869_of_init(struct phy_device *phydev)
01db923e83779b Dan Murphy 2019-11-13 175 {
01db923e83779b Dan Murphy 2019-11-13 176 struct dp83869_private *dp83869 = phydev->priv;
01db923e83779b Dan Murphy 2019-11-13 177 struct device *dev = &phydev->mdio.dev;
01db923e83779b Dan Murphy 2019-11-13 178 struct device_node *of_node = dev->of_node;
c27cb3ace00f1b Dan Murphy 2020-05-21 179 int delay_size = ARRAY_SIZE(dp83869_internal_delay);
01db923e83779b Dan Murphy 2019-11-13 180 int ret;
01db923e83779b Dan Murphy 2019-11-13 181
01db923e83779b Dan Murphy 2019-11-13 182 if (!of_node)
01db923e83779b Dan Murphy 2019-11-13 183 return -ENODEV;
01db923e83779b Dan Murphy 2019-11-13 184
01db923e83779b Dan Murphy 2019-11-13 185 dp83869->io_impedance = -EINVAL;
01db923e83779b Dan Murphy 2019-11-13 186
01db923e83779b Dan Murphy 2019-11-13 187 /* Optional configuration */
01db923e83779b Dan Murphy 2019-11-13 188 ret = of_property_read_u32(of_node, "ti,clk-output-sel",
01db923e83779b Dan Murphy 2019-11-13 189 &dp83869->clk_output_sel);
01db923e83779b Dan Murphy 2019-11-13 190 if (ret || dp83869->clk_output_sel > DP83869_CLK_O_SEL_REF_CLK)
01db923e83779b Dan Murphy 2019-11-13 191 dp83869->clk_output_sel = DP83869_CLK_O_SEL_REF_CLK;
01db923e83779b Dan Murphy 2019-11-13 192
01db923e83779b Dan Murphy 2019-11-13 193 ret = of_property_read_u32(of_node, "ti,op-mode", &dp83869->mode);
01db923e83779b Dan Murphy 2019-11-13 194 if (ret == 0) {
01db923e83779b Dan Murphy 2019-11-13 195 if (dp83869->mode < DP83869_RGMII_COPPER_ETHERNET ||
01db923e83779b Dan Murphy 2019-11-13 196 dp83869->mode > DP83869_SGMII_COPPER_ETHERNET)
01db923e83779b Dan Murphy 2019-11-13 197 return -EINVAL;
01db923e83779b Dan Murphy 2019-11-13 198 }
01db923e83779b Dan Murphy 2019-11-13 199
01db923e83779b Dan Murphy 2019-11-13 200 if (of_property_read_bool(of_node, "ti,max-output-impedance"))
01db923e83779b Dan Murphy 2019-11-13 201 dp83869->io_impedance = DP83869_IO_MUX_CFG_IO_IMPEDANCE_MAX;
01db923e83779b Dan Murphy 2019-11-13 202 else if (of_property_read_bool(of_node, "ti,min-output-impedance"))
01db923e83779b Dan Murphy 2019-11-13 203 dp83869->io_impedance = DP83869_IO_MUX_CFG_IO_IMPEDANCE_MIN;
01db923e83779b Dan Murphy 2019-11-13 204
01db923e83779b Dan Murphy 2019-11-13 205 if (of_property_read_bool(of_node, "enet-phy-lane-swap"))
01db923e83779b Dan Murphy 2019-11-13 206 dp83869->port_mirroring = DP83869_PORT_MIRRORING_EN;
01db923e83779b Dan Murphy 2019-11-13 207 else
01db923e83779b Dan Murphy 2019-11-13 208 dp83869->port_mirroring = DP83869_PORT_MIRRORING_DIS;
01db923e83779b Dan Murphy 2019-11-13 209
01db923e83779b Dan Murphy 2019-11-13 210 if (of_property_read_u32(of_node, "rx-fifo-depth",
01db923e83779b Dan Murphy 2019-11-13 211 &dp83869->rx_fifo_depth))
01db923e83779b Dan Murphy 2019-11-13 212 dp83869->rx_fifo_depth = DP83869_PHYCR_FIFO_DEPTH_4_B_NIB;
01db923e83779b Dan Murphy 2019-11-13 213
01db923e83779b Dan Murphy 2019-11-13 214 if (of_property_read_u32(of_node, "tx-fifo-depth",
01db923e83779b Dan Murphy 2019-11-13 215 &dp83869->tx_fifo_depth))
01db923e83779b Dan Murphy 2019-11-13 216 dp83869->tx_fifo_depth = DP83869_PHYCR_FIFO_DEPTH_4_B_NIB;
01db923e83779b Dan Murphy 2019-11-13 217
c27cb3ace00f1b Dan Murphy 2020-05-21 218 dp83869->rx_id_delay = DP83869_RGMII_CLK_DELAY_INV;
c27cb3ace00f1b Dan Murphy 2020-05-21 219 ret = of_property_read_u32(of_node, "rx-internal-delay",
c27cb3ace00f1b Dan Murphy 2020-05-21 220 &dp83869->rx_id_delay);
c27cb3ace00f1b Dan Murphy 2020-05-21 @221 if (!ret && dp83869->rx_id_delay > dp83869_internal_delay[delay_size]) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Out of bounds. Not clear what was intended here.
c27cb3ace00f1b Dan Murphy 2020-05-21 222 phydev_err(phydev,
c27cb3ace00f1b Dan Murphy 2020-05-21 223 "rx-internal-delay value of %u out of range\n",
c27cb3ace00f1b Dan Murphy 2020-05-21 224 dp83869->rx_id_delay);
c27cb3ace00f1b Dan Murphy 2020-05-21 225 return -EINVAL;
c27cb3ace00f1b Dan Murphy 2020-05-21 226 }
c27cb3ace00f1b Dan Murphy 2020-05-21 227
c27cb3ace00f1b Dan Murphy 2020-05-21 228 dp83869->tx_id_delay = DP83869_RGMII_CLK_DELAY_INV;
c27cb3ace00f1b Dan Murphy 2020-05-21 229 ret = of_property_read_u32(of_node, "tx-internal-delay",
c27cb3ace00f1b Dan Murphy 2020-05-21 230 &dp83869->tx_id_delay);
c27cb3ace00f1b Dan Murphy 2020-05-21 231 if (!ret && dp83869->tx_id_delay > dp83869_internal_delay[delay_size]) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Also out of bounds.
c27cb3ace00f1b Dan Murphy 2020-05-21 232 phydev_err(phydev,
c27cb3ace00f1b Dan Murphy 2020-05-21 233 "tx-internal-delay value of %u out of range\n",
c27cb3ace00f1b Dan Murphy 2020-05-21 234 dp83869->tx_id_delay);
c27cb3ace00f1b Dan Murphy 2020-05-21 235 return -EINVAL;
c27cb3ace00f1b Dan Murphy 2020-05-21 236 }
c27cb3ace00f1b Dan Murphy 2020-05-21 237
786c4a5372e119 Dan Murphy 2019-11-26 238 return ret;
01db923e83779b Dan Murphy 2019-11-13 239 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 72497 bytes --]
next prev parent reply other threads:[~2020-05-26 13:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-21 17:48 [RFC PATCH net-next 0/4] RGMII Internal delay common property Dan Murphy
2020-05-21 17:48 ` [RFC PATCH net-next 1/4] dt-bindings: net: Add tx and rx internal delays Dan Murphy
2020-05-21 18:06 ` Florian Fainelli
2020-05-21 17:48 ` [RFC PATCH net-next 2/4] net: phy: Add a helper to return the index for of the internal delay Dan Murphy
2020-05-21 17:48 ` [RFC PATCH net-next 3/4] dt-bindings: net: Add RGMII internal delay for DP83869 Dan Murphy
2020-05-21 17:48 ` [RFC PATCH net-next 4/4] net: dp83869: Add RGMII internal delay configuration Dan Murphy
2020-05-23 14:58 ` Andrew Lunn
2020-05-26 13:31 ` Dan Carpenter [this message]
2020-05-26 13:31 ` Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2020-05-23 12:49 kbuild test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200526133149.GS30374@kadam \
--to=dan.carpenter@oracle.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.