Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2834700pxb; Mon, 1 Nov 2021 02:50:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyJwIR748+BNPZ5kZDwQXa9idET3OsJVHpFShxPJPmEga2xIjtu7JnsXeXqfusxPoN7t57M X-Received: by 2002:a17:906:ae15:: with SMTP id le21mr25203999ejb.228.1635760233914; Mon, 01 Nov 2021 02:50:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635760233; cv=none; d=google.com; s=arc-20160816; b=ew6hqSEdn/NafAjODQ5v9ljOUQVX9Kbft0sZx6qUJxpzNAgeeLlJpibbLO5JmTyh2k S1+cCZtEJtw/PqOi4Rpw5keDahEUNS4+ifMJRNxdGh09+ywmD8nPylPG6ppp5W1Bye3X srzSvR1R56Aom6ZNtgi0HNkL502mmzbr3Wp/51ryimXwsF58oUAvuvoUr+q8eB+utef9 WPMqTCGHBpwmEB6etqj/JY5WxinoWmwhUHsa98G3TRt8BmfCht4n3pXTKqGArlzME5U9 Exqwcn5+oO3gKd0aqa1RmAzgCOvqjgpiHscpOfyjdp/vDMYhpN1RVaS42Suk2YGg4CXZ W5Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=3ER4CVAV0K0Y8pSUu8wIZ2VC3LpL+5cSYaxlyZdsyV0=; b=FmfsFswhPdbbDG3yWTMDIfkyNnvFygnfAFXYDTq083lioAt9y0714CGOlhXqGCh1Hi eEYbNmfagMNhLugZwjGorzmVuvBAgfgJMz5VkXcVhZbbsXVC0zZMKw0CWG5ncWcAVkjV 6V/mC712oIrNUewNJWnQw1YqpTLaqF8KhPsGVV/AU38ZiYMOWgsUoxuOm6s9NhHU6dd8 J57guUuJGhsBYJU9i8XkATWmMcUNP14KiQ1Ua04lz+m/NSz24MyKfMFscw+Mp/jkjXvW Z2sdX907h2Cz5iOMsT2w1sTFBGBxOazrStB9Nu1pjk8ieLd7B2neC8bbzmObw1XXgZgx PIHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=KBUzaLBo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h19si3983746edb.399.2021.11.01.02.50.10; Mon, 01 Nov 2021 02:50:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=KBUzaLBo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234458AbhKAJuu (ORCPT + 99 others); Mon, 1 Nov 2021 05:50:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:51418 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232973AbhKAJrV (ORCPT ); Mon, 1 Nov 2021 05:47:21 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2A59A6140B; Mon, 1 Nov 2021 09:30:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1635759047; bh=+JJ9wVFLK5840JrXkDQw3BjX3pYgseMCN+iUTlG9m9o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KBUzaLBoBTuUvYy8j4mPktaoe7qvK95zSMZZTIBvmohU62Rzo6Nkz49rAqEhNRbh8 EVfiwn5+0evRSQtZRKsnFBhn4eR603a51JagKwcaUbVRouFqv2pYMlps2L8cykZLMQ iAO0TgHCfYGlQwU8HUasMwsh2J+1ZpDFs6YQeR6o= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andrew Lunn , "David S. Miller" Subject: [PATCH 5.14 092/125] phy: phy_ethtool_ksettings_get: Lock the phy for consistency Date: Mon, 1 Nov 2021 10:17:45 +0100 Message-Id: <20211101082550.550021013@linuxfoundation.org> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211101082533.618411490@linuxfoundation.org> References: <20211101082533.618411490@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andrew Lunn commit c10a485c3de5ccbf1fff65a382cebcb2730c6b06 upstream. The PHY structure should be locked while copying information out if it, otherwise there is no guarantee of self consistency. Without the lock the PHY state machine could be updating the structure. Fixes: 2d55173e71b0 ("phy: add generic function to support ksetting support") Signed-off-by: Andrew Lunn Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/phy/phy.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -299,6 +299,7 @@ EXPORT_SYMBOL(phy_ethtool_ksettings_set) void phy_ethtool_ksettings_get(struct phy_device *phydev, struct ethtool_link_ksettings *cmd) { + mutex_lock(&phydev->lock); linkmode_copy(cmd->link_modes.supported, phydev->supported); linkmode_copy(cmd->link_modes.advertising, phydev->advertising); linkmode_copy(cmd->link_modes.lp_advertising, phydev->lp_advertising); @@ -317,6 +318,7 @@ void phy_ethtool_ksettings_get(struct ph cmd->base.autoneg = phydev->autoneg; cmd->base.eth_tp_mdix_ctrl = phydev->mdix_ctrl; cmd->base.eth_tp_mdix = phydev->mdix; + mutex_unlock(&phydev->lock); } EXPORT_SYMBOL(phy_ethtool_ksettings_get);