lkml.org 
[lkml]   [2019]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 05/42] netfilter: nft_hash: fix symhash with modulus one
    Date
    From: Laura Garcia Liebana <nevola@gmail.com>

    [ Upstream commit 28b1d6ef53e3303b90ca8924bb78f31fa527cafb ]

    The rule below doesn't work as the kernel raises -ERANGE.

    nft add rule netdev nftlb lb01 ip daddr set \
    symhash mod 1 map { 0 : 192.168.0.10 } fwd to "eth0"

    This patch allows to use the symhash modulus with one
    element, in the same way that the other types of hashes and
    algorithms that uses the modulus parameter.

    Signed-off-by: Laura Garcia Liebana <nevola@gmail.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/netfilter/nft_hash.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/net/netfilter/nft_hash.c b/net/netfilter/nft_hash.c
    index c2d237144f747..b8f23f75aea6c 100644
    --- a/net/netfilter/nft_hash.c
    +++ b/net/netfilter/nft_hash.c
    @@ -196,7 +196,7 @@ static int nft_symhash_init(const struct nft_ctx *ctx,
    priv->dreg = nft_parse_register(tb[NFTA_HASH_DREG]);

    priv->modulus = ntohl(nla_get_be32(tb[NFTA_HASH_MODULUS]));
    - if (priv->modulus <= 1)
    + if (priv->modulus < 1)
    return -ERANGE;

    if (priv->offset + priv->modulus - 1 < priv->offset)
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-08-02 15:35    [W:4.157 / U:1.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site