lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <af707faa-7f95-0d6f-3f72-1746161e09a8@infradead.org>
Date:   Wed, 4 Dec 2019 08:11:11 -0800
From:   Randy Dunlap <rdunlap@...radead.org>
To:     Grygorii Strashko <grygorii.strashko@...com>,
        Stephen Rothwell <sfr@...b.auug.org.au>,
        Linux Next Mailing List <linux-next@...r.kernel.org>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
        Jiri Pirko <jiri@...nulli.us>,
        Ivan Vecera <ivecera@...hat.com>, linux-omap@...r.kernel.org
Subject: Re: linux-next: Tree for Dec 3 (switchdev & TI_CPSW_SWITCHDEV)

On 12/4/19 7:35 AM, Grygorii Strashko wrote:
> 
> 
> On 04/12/2019 01:43, Randy Dunlap wrote:
>> On 12/2/19 8:54 PM, Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> Please do not add any material for v5.6 to your linux-next included
>>> trees until after v5.5-rc1 has been released.
>>>
>>> Changes since 20191202:
>>
>> I am seeing this (happens to be on i386; I doubt that it matters):
>> CONFIG_COMPILE_TEST=y
>>
>>
>> WARNING: unmet direct dependencies detected for NET_SWITCHDEV
>>    Depends on [n]: NET [=y] && INET [=n]
>>    Selected by [y]:
>>    - TI_CPSW_SWITCHDEV [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_TI [=y] && (ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST [=y])
>>
>> because TI_CPSW_SWITCHDEV blindly selects NET_SWITCHDEV even though
>> INET is not set/enabled, while NET_SWITCHDEV depends on INET.
>>
>> However, the build succeeds, including net/switchdev/*.
>>
>> So why does NET_SWITCHDEV depend on INET?
>>
>> It looks like TI_CPSW_SWITCHDEV should depend on INET (based on the
>> Kconfig rules), but in practice it doesn't seem to matter to the build.
>>
> 
> Thanks for reporting this. I'd like to ask for some advice of how to proceed?
> a) change it to "depends on NET_SWITCHDEV" (as it's done in other drivers),
> but this will require to add NET_SWITCHDEV in defconfig

IMO TI_CPSW_SWITCHDEV should depend on NET_SWITCHDEV, as other drivers do that.

That will require to add NET_SWITCHDEV in what defconfig?
To me, it just means that whoever is doing the kernel config must enable/set
NET_SWITCHDEV first, same as other drivers that depend on NET_SWITCHDEV.

> b) change it to "imply NET_SWITCHDEV", but then NET_SWITCHDEV can be switched off
> manually or by random build and cause build failure of cpsw_new.
> To fix build below diff can be used, but TI_CPSW_SWITCHDEV will not be functional
> 
> ---
> diff --git a/drivers/net/ethernet/ti/cpsw_new.c b/drivers/net/ethernet/ti/cpsw_new.c
> index 71215db7934b..22e8fc548d48 100644
> --- a/drivers/net/ethernet/ti/cpsw_new.c
> +++ b/drivers/net/ethernet/ti/cpsw_new.c
> @@ -368,8 +368,9 @@ static void cpsw_rx_handler(void *token, int len, int status)
>                 page_pool_recycle_direct(pool, page);
>                 goto requeue;
>         }
> -
> +#ifdef CONFIG_NET_SWITCHDEV
>         skb->offload_fwd_mark = priv->offload_fwd_mark;
> +#endif
>         skb_reserve(skb, headroom);
>         skb_put(skb, len);
>         skb->dev = ndev;
> 
> Thank you.
> 


-- 
~Randy
Reported-by: Randy Dunlap <rdunlap@...radead.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ