diff options
author | Taehee Yoo <ap420073@gmail.com> | 2019-12-11 08:23:48 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-01-04 14:00:22 +0100 |
commit | 3e8374bd5ab1e7f6e6148fe1e0178edf049e6891 (patch) | |
tree | a322b63bcfb2814b86e4cda4d115be851b96ffac /drivers | |
parent | a29c4303930bc0c25ae6a4f365dcdef71447b4ea (diff) | |
download | linux-stable-3e8374bd5ab1e7f6e6148fe1e0178edf049e6891.tar.gz linux-stable-3e8374bd5ab1e7f6e6148fe1e0178edf049e6891.tar.bz2 linux-stable-3e8374bd5ab1e7f6e6148fe1e0178edf049e6891.zip |
gtp: avoid zero size hashtable
[ Upstream commit 6a902c0f31993ab02e1b6ea7085002b9c9083b6a ]
GTP default hashtable size is 1024 and userspace could set specific
hashtable size with IFLA_GTP_PDP_HASHSIZE. If hashtable size is set to 0
from userspace, hashtable will not work and panic will occur.
Fixes: 459aa660eb1d ("gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U)")
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/gtp.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c index 51043a637719..35905e9ee9ec 100644 --- a/drivers/net/gtp.c +++ b/drivers/net/gtp.c @@ -671,10 +671,13 @@ static int gtp_newlink(struct net *src_net, struct net_device *dev, if (err < 0) return err; - if (!data[IFLA_GTP_PDP_HASHSIZE]) + if (!data[IFLA_GTP_PDP_HASHSIZE]) { hashsize = 1024; - else + } else { hashsize = nla_get_u32(data[IFLA_GTP_PDP_HASHSIZE]); + if (!hashsize) + hashsize = 1024; + } err = gtp_hashtable_new(gtp, hashsize); if (err < 0) |