diff options
author | Maciej Żenczykowski <maze@google.com> | 2019-11-26 14:44:16 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-11-26 15:15:07 -0800 |
commit | 66e2f5f7c7728862e9394769722231b9ce3d8672 (patch) | |
tree | 99662083152383e3e5ebb299a6fd9dc9c88550b2 | |
parent | 4e81c0b3fa93d07653e2415fa71656b080a112fd (diff) |
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>
-rw-r--r-- | include/net/ip.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/net/ip.h b/include/net/ip.h index 5a61bd948b18..02d68e346f67 100644 --- a/include/net/ip.h +++ b/include/net/ip.h @@ -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; } |