Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1983204imu; Fri, 14 Dec 2018 04:04:22 -0800 (PST) X-Google-Smtp-Source: AFSGD/UttgZKpUDbrAFSQtKwGdgfLOUoCyPpHsFXEdlPcGiuh/QN8/Cn6nQgfMmpi9Bmoe5X1aK4 X-Received: by 2002:a63:6506:: with SMTP id z6mr2441878pgb.334.1544789062332; Fri, 14 Dec 2018 04:04:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544789062; cv=none; d=google.com; s=arc-20160816; b=fKjmxJ9uFvysZq6plbPUvhvKjYM3kIdWSxhOfrdbqO93496DtK8VqA4wiFY8jFxORn Os1lwwQGLB0Ru/ziwUNPBLpK6cQFr6br7XU35Ho0obLepPXPALnwAVJKjik9MSY4L8O7 Pc4llbV/Gsm1sCpGDyrSDo4KfMbbEumTj1qxnNT5c63NJIR4XV195JNlr8BrD1SWNV2n N3pBT1BBoiUm5PXyMqeV3nkNLFd9iH5xY5Y1Gc8DLaDrJWFNfgU234pSxHUk5MfeOEFJ L+Ga6GqBbONI7lyXjEsHE9ygTSQqvR+F+xkMPS0Al+BWuz5hSjI3a64VM22gNsPVseX5 Nwew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=th7Ii+kbkbLLYpbAP3cv+/IsK7NfWQ63XG7i1DzJVVI=; b=GaFGFWFfDiZHxCBCLgYmHZ6sfaTcNmicpdiMbxsjIP2ry0jlJJYjvOAIsT1/B4IZOJ B1Gr3r9W//xDjCERc96hR7OMtJGLh9M4rfdoZ8Xcb09PsJhlFmh8LnFub3neoqzDzI5Y 5fCZp6bB+TR6VWZRdLvcePM09HiJdVX0o9lWDVwxkNLzZjLHcoJt7v3P7AsDqs4ROUy+ gRG/IBxF+TczbaMJXMn+YToQWeGc2FhZFEiE1mfqGGYNbsLhvsgkJwDGsMBw0dU72ctd ISGvfBZQCyQ4OXBzf+Fy/IeA5T0gxTswJtcO1sZoEuQ+rrYnUPkequ6Yv1zH254VtaHC SThA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BFQv0Eim; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h5si4152295pfg.233.2018.12.14.04.03.46; Fri, 14 Dec 2018 04:04:22 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=BFQv0Eim; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729912AbeLNMB6 (ORCPT + 99 others); Fri, 14 Dec 2018 07:01:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:44634 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729894AbeLNMB5 (ORCPT ); Fri, 14 Dec 2018 07:01:57 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8CBA02146E; Fri, 14 Dec 2018 12:01:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544788917; bh=/csCYu5RZwmTmGX8u1n9AmiafdLVWxlDzkuXYQmY38M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BFQv0Eim9y0gYeIFkQ+uEOi8BRJZjxuoCMtJbzBm9wncW6wd4anNDczgDpMd+xkb7 xJDAskKIPnsVa7xcgNg3AKOYU0Dx5DTg+qrUqqlpALmHjBpAcsQdAiCEhzwdjiLsRh XvXnOjpwz1CXGHBMwf9p4RDjjPDAC2elJ0wcZSY4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Heiner Kallweit , Andrew Lunn , "David S. Miller" Subject: [PATCH 4.19 008/142] net: phy: dont allow __set_phy_supported to add unsupported modes Date: Fri, 14 Dec 2018 12:58:13 +0100 Message-Id: <20181214115747.381380475@linuxfoundation.org> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20181214115747.053633987@linuxfoundation.org> References: <20181214115747.053633987@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ From: Heiner Kallweit [ Upstream commit d2a36971ef595069b7a600d1144c2e0881a930a1 ] Currently __set_phy_supported allows to add modes w/o checking whether the PHY supports them. This is wrong, it should never add modes but only remove modes we don't want to support. The commit marked as fixed didn't do anything wrong, it just copied existing functionality to the helper which is being fixed now. Fixes: f3a6bd393c2c ("phylib: Add phy_set_max_speed helper") Signed-off-by: Heiner Kallweit Reviewed-by: Andrew Lunn Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/phy/phy_device.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -1738,20 +1738,17 @@ EXPORT_SYMBOL(genphy_loopback); static int __set_phy_supported(struct phy_device *phydev, u32 max_speed) { - phydev->supported &= ~(PHY_1000BT_FEATURES | PHY_100BT_FEATURES | - PHY_10BT_FEATURES); - switch (max_speed) { - default: - return -ENOTSUPP; - case SPEED_1000: - phydev->supported |= PHY_1000BT_FEATURES; + case SPEED_10: + phydev->supported &= ~PHY_100BT_FEATURES; /* fall through */ case SPEED_100: - phydev->supported |= PHY_100BT_FEATURES; - /* fall through */ - case SPEED_10: - phydev->supported |= PHY_10BT_FEATURES; + phydev->supported &= ~PHY_1000BT_FEATURES; + break; + case SPEED_1000: + break; + default: + return -ENOTSUPP; } return 0;