Commit 6a902c0f authored by Taehee Yoo's avatar Taehee Yoo Committed by Jakub Kicinski
Browse files

gtp: avoid zero size hashtable



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: 459aa660 ("gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U)")
Signed-off-by: default avatarTaehee Yoo <ap420073@gmail.com>
Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
parent 94dc550a
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -667,10 +667,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)