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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220920131059.7626a665@kernel.org>
Date:   Tue, 20 Sep 2022 13:10:59 -0700
From:   Jakub Kicinski <kuba@...nel.org>
To:     Jian Shen <shenjian15@...wei.com>
Cc:     <davem@...emloft.net>, <ecree.xilinx@...il.com>, <andrew@...n.ch>,
        <hkallweit1@...il.com>, <alexandr.lobakin@...el.com>,
        <saeed@...nel.org>, <leon@...nel.org>, <netdev@...r.kernel.org>,
        <linuxarm@...wei.com>
Subject: Re: [RFCv8 PATCH net-next 01/55] net: introduce operation helpers
 for netdev features

On Sun, 18 Sep 2022 09:42:42 +0000 Jian Shen wrote:
> Introduce a set of bitmap operation helpers for netdev features,
> then we can use them to replace the logical operation with them.
> 
> The implementation of these helpers are based on the old prototype
> of netdev_features_t is still u64. These helpers will be rewritten
> on the last patch, follow the prototype changes. For the new type
> netdev_features_t maybe large than 8 bytes, use netdev_features_t
> pointer as parameter.
> 
> To avoid interdependencies between netdev_features_helper.h and
> netdevice.h, put the helpers for testing feature in the netdevice.h,
> and move advandced helpers like netdev_get_wanted_features() and
> netdev_intersect_features() to netdev_features_helper.h.

> diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
> index 8b77582bdfa0..8023a3f0d43b 100644
> --- a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
> +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
> @@ -4,6 +4,7 @@
>  #include <linux/etherdevice.h>
>  #include <linux/io-64-nonatomic-hi-lo.h>
>  #include <linux/lockdep.h>
> +#include <linux/netdev_feature_helpers.h>
>  #include <net/dst_metadata.h>
>  
>  #include "nfpcore/nfp_cpp.h"

We need to start breaking upstreamable chunks out of this mega-series
otherwise we won't make any progress..

Please make a patch which will move netdev_intersect_features() and
netdev_get_wanted_features() to the new linux/netdev_feature_helpers.h
header, and add the missing includes. Post it separately as soon as
possible.

> diff --git a/include/linux/netdev_feature_helpers.h b/include/linux/netdev_feature_helpers.h
> new file mode 100644
> index 000000000000..4bb5de61e4e9
> --- /dev/null
> +++ b/include/linux/netdev_feature_helpers.h
> @@ -0,0 +1,607 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Network device features helpers.
> + */
> +#ifndef _LINUX_NETDEV_FEATURES_HELPER_H
> +#define _LINUX_NETDEV_FEATURES_HELPER_H
> +
> +#include <linux/netdevice.h>
> +
> +static inline void __netdev_features_zero(netdev_features_t *dst)
> +{
> +	*dst = 0;
> +}
> +
> +#define netdev_features_zero(features) __netdev_features_zero(&(features))
> +
> +/* active_feature prefer to netdev->features */
> +#define netdev_active_features_zero(ndev) \
> +		netdev_features_zero((ndev)->features)
> +

No need for empty lines between the defines of the same category, IMHO.

> +#define netdev_hw_features_zero(ndev) \
> +		netdev_features_zero((ndev)->hw_features)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ