net: inet_is_local_reserved_port() port arg should be unsigned short

Any argument outside of that range would result in an out of bound
memory access, since the accessed array is 65536 bits long.

Signed-off-by: Maciej Żenczykowski <maze@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Maciej Żenczykowski 2019-11-26 14:44:16 -08:00 committed by David S. Miller
parent 4e81c0b3fa
commit 66e2f5f7c7
1 changed files with 2 additions and 2 deletions

View File

@ -339,7 +339,7 @@ static inline u64 snmp_fold_field64(void __percpu *mib, int offt, size_t syncp_o
void inet_get_local_port_range(struct net *net, int *low, int *high);
#ifdef CONFIG_SYSCTL
static inline bool inet_is_local_reserved_port(struct net *net, int port)
static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
{
if (!net->ipv4.sysctl_local_reserved_ports)
return false;
@ -357,7 +357,7 @@ static inline bool inet_port_requires_bind_service(struct net *net, unsigned sho
}
#else
static inline bool inet_is_local_reserved_port(struct net *net, int port)
static inline bool inet_is_local_reserved_port(struct net *net, unsigned short port)
{
return false;
}