lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 413/800] net: ftgmac100: add missing error return code in ftgmac100_probe()
    Date
    From: Yang Yingliang <yangyingliang@huawei.com>

    [ Upstream commit 52af13a41489d7bbc1932d17583eff6e5fffc820 ]

    The variables will be free on path err_phy_connect, it should
    return error code, or it will cause double free when calling
    ftgmac100_remove().

    Fixes: bd466c3fb5a4 ("net/faraday: Support NCSI mode")
    Fixes: 39bfab8844a0 ("net: ftgmac100: Add support for DT phy-handle property")
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/faraday/ftgmac100.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
    index 04421aec2dfd..11dbbfd38770 100644
    --- a/drivers/net/ethernet/faraday/ftgmac100.c
    +++ b/drivers/net/ethernet/faraday/ftgmac100.c
    @@ -1830,14 +1830,17 @@ static int ftgmac100_probe(struct platform_device *pdev)
    if (np && of_get_property(np, "use-ncsi", NULL)) {
    if (!IS_ENABLED(CONFIG_NET_NCSI)) {
    dev_err(&pdev->dev, "NCSI stack not enabled\n");
    + err = -EINVAL;
    goto err_phy_connect;
    }

    dev_info(&pdev->dev, "Using NCSI interface\n");
    priv->use_ncsi = true;
    priv->ndev = ncsi_register_dev(netdev, ftgmac100_ncsi_handler);
    - if (!priv->ndev)
    + if (!priv->ndev) {
    + err = -EINVAL;
    goto err_phy_connect;
    + }
    } else if (np && of_get_property(np, "phy-handle", NULL)) {
    struct phy_device *phy;

    @@ -1856,6 +1859,7 @@ static int ftgmac100_probe(struct platform_device *pdev)
    &ftgmac100_adjust_link);
    if (!phy) {
    dev_err(&pdev->dev, "Failed to connect to phy\n");
    + err = -EINVAL;
    goto err_phy_connect;
    }

    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 11:10    [W:3.049 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site