Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp5422568rdb; Wed, 13 Dec 2023 08:12:52 -0800 (PST) X-Google-Smtp-Source: AGHT+IEz1AhiXpIIeMj0tTgCM4D9io5i4DwdcVTr/WRm0V5aTvgnRtFEInXi7FJS9+8LsOBYjwc8 X-Received: by 2002:a05:6e02:1526:b0:35d:59a2:2bb with SMTP id i6-20020a056e02152600b0035d59a202bbmr12550997ilu.91.1702483972411; Wed, 13 Dec 2023 08:12:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702483972; cv=none; d=google.com; s=arc-20160816; b=HCRrvle0lpf/c5yStAu46Y4GgGUa5geGLj712DdGuHsQjZ7MpNKuY41mk85LkhFlwD ZK7QVeBaegOUhDm+e9JHPyqjF3hl8UqqziOEdqsNn1S0HnAiexr08LZNDOoUiz4oVUmW wdOkG0D8Lg1TCnE4/9X1F/sGMbMh89ScKveaSZ6H5UoPPBglfoda+2x2COHBZiEy1yWg dTyNPSrSIvooyjcmTMOpXwpex02KtiKxM/fJJ+t6vdhGXkClG2bibUg1HQxI8pMW8BL5 CGqliZYzG6yjZqScOakHfW+G6Mjxm3bO0/QrUZW4WVOVukO4tG93iAOOh7ImfFYwXrEZ NInw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=1vrOiSisAVsmWgexef/gsX29GgUfsLmdvZF3qsbjTJ0=; fh=ZUIGhA6eww0lpdXy5u6KSD0KEo5uW3E3cR6Ghf4MiIE=; b=nkShAEmYTm1vDvmLumGQ625Akn/eBxf+s1iSdmLH5J3D24u7mcXYeF5iGxjhyVMAXh 1I/z2WWcDFpFQ9Sf7h0ICUKW+u+DxHTz18QhzIFqNn3uLT+Y0O9EQlkB3rjWMKT/2tsa 75eMVXmgyBxedstUkaxb5ha4TKoOvw8NT54tswplUjv3WvZpshsitvLhZLTQwmwlr+O6 6c4qEXEubbS0o/IS0oXItb8tfAEIz0QFLTZUpfIHc8pFDR49VG8gbqN2YEgxaQ6ehALC 4zqtP8zk6OAQha8ocCTxtl0Esp7cibMvEWcV3tzSx7pt4bq6FNcmffXbWC1yr3YqpBWH yQ9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail (test mode) header.i=@armlinux.org.uk header.s=pandora-2019 header.b=qbB4sQwp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=armlinux.org.uk Return-Path: Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id i7-20020a63e907000000b005897813624fsi9493242pgh.476.2023.12.13.08.12.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 08:12:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=fail (test mode) header.i=@armlinux.org.uk header.s=pandora-2019 header.b=qbB4sQwp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=armlinux.org.uk Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 9FCF7803FF84; Wed, 13 Dec 2023 08:12:49 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233394AbjLMQMa (ORCPT + 99 others); Wed, 13 Dec 2023 11:12:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229531AbjLMQM3 (ORCPT ); Wed, 13 Dec 2023 11:12:29 -0500 Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:32c8:5054:ff:fe00:142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 84ACACF; Wed, 13 Dec 2023 08:12:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=1vrOiSisAVsmWgexef/gsX29GgUfsLmdvZF3qsbjTJ0=; b=qbB4sQwpo0TQONpnefMuazB4i7 4omduYqjHcOb0sF5jrGtudYXP6lqdTlTm1ubaC+T5C5sLiEGWJVFwp0kE6DUU+/RrYWd6aLX7f8dE 1O46o/WuMevXvWn67r0tXeMUAF7/rXTjsuKG8JwMzj7uWMace9o6b+Kf13aiMpvDKxnLLis8qxYyn h7ZBLKU+RvJfcrsmN1fShqob074w4Ln4AnXEwjCwRVLLlaRA7phdFchdVBY0EYkklkyy07SKiDV4v wX/F1ItJo2j9xmvYO/txDPXPZiVpUxONjeEIR1kfJ49zXtm1dnL9wuLuCcZSTCVfiE+lx0SKqlgfd 9sD23HeA==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:36092) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rDRqS-0000ES-04; Wed, 13 Dec 2023 16:12:24 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1rDRqS-0001du-DO; Wed, 13 Dec 2023 16:12:24 +0000 Date: Wed, 13 Dec 2023 16:12:24 +0000 From: "Russell King (Oracle)" To: Christian Marangi Cc: Florian Fainelli , Broadcom internal kernel review list , Andrew Lunn , Heiner Kallweit , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Vladimir Oltean , David Epping , Harini Katakam , Simon Horman , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [net-next PATCH v6 1/3] net: phy: extend PHY package API to support multiple global address Message-ID: References: <20231213105730.1731-1-ansuelsmth@gmail.com> <6579d2cc.050a0220.e6ea.d8cf@mx.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6579d2cc.050a0220.e6ea.d8cf@mx.google.com> Sender: Russell King (Oracle) X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Wed, 13 Dec 2023 08:12:49 -0800 (PST) On Wed, Dec 13, 2023 at 04:50:33PM +0100, Christian Marangi wrote: > On Wed, Dec 13, 2023 at 03:45:24PM +0000, Russell King (Oracle) wrote: > > On Wed, Dec 13, 2023 at 11:57:28AM +0100, Christian Marangi wrote: > > > -static inline int phy_package_read(struct phy_device *phydev, u32 regnum) > > > +static inline int phy_package_read(struct phy_device *phydev, > > > + unsigned int addr_offset, u32 regnum) > > > { > > > struct phy_package_shared *shared = phydev->shared; > > > + int addr = shared->base_addr + addr_offset; > > > > > > - if (!shared) > > > + if (addr >= PHY_MAX_ADDR) > > > return -EIO; > > > > If we're going to check the address, I think we should check it > > properly, which means also checking whether it's become negative. > > > > Alternatively, we could consider making "addr" and "base_addr" > > unsigned types, since they should never be negative. However, > > that probably should be done as a separate patch before this one. > > > > Maybe I'm confused but isn't already like that? > On phy_package_join base_addr is already checked if it's negative (and > rejected) > > addr_offset is unsigned so it can't be negative. True, but with base_addr being an int, addr_offset being unsigned int, and addr being an int, if addr_offset is a very large number, 2-complement arithmetic will have the effect of treating it as a negative number. So, base_addr=0, addr_offset=~0 results in addr being -1. If "addr" were unsigned int, and as we've already established, "base_addr" can't be less than zero because of the checks already done (thus it can also be unsigned int) then we'll end up with the checks you're adding automatically doing the right thing, because... base_addr=0, addr_offset=~0 results in addr being ~0 (a large positive unsigned number). -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!