mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 17:23:36 +00:00
Merge branch 'inet-const'
Eric Dumazet says: ==================== inet: better const qualifier awareness inet_sk() can be changed to propagate const qualifier, thanks to container_of_const() Following patches in this series add more const qualifiers. Other helpers like tcp_sk(), udp_sk(), raw_sk(), ... will be handled in following series. ==================== Reviewed-by: David Ahern <dsahern@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
d27d367d3b
@ -122,7 +122,7 @@ extern int ip_mc_msfget(struct sock *sk, struct ip_msfilter *msf,
|
||||
sockptr_t optval, sockptr_t optlen);
|
||||
extern int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf,
|
||||
sockptr_t optval, size_t offset);
|
||||
extern int ip_mc_sf_allow(struct sock *sk, __be32 local, __be32 rmt,
|
||||
extern int ip_mc_sf_allow(const struct sock *sk, __be32 local, __be32 rmt,
|
||||
int dif, int sdif);
|
||||
extern void ip_mc_init_dev(struct in_device *);
|
||||
extern void ip_mc_destroy_dev(struct in_device *);
|
||||
|
@ -223,7 +223,7 @@ int ipv6_sock_mc_drop(struct sock *sk, int ifindex,
|
||||
const struct in6_addr *addr);
|
||||
void __ipv6_sock_mc_close(struct sock *sk);
|
||||
void ipv6_sock_mc_close(struct sock *sk);
|
||||
bool inet6_mc_check(struct sock *sk, const struct in6_addr *mc_addr,
|
||||
bool inet6_mc_check(const struct sock *sk, const struct in6_addr *mc_addr,
|
||||
const struct in6_addr *src_addr);
|
||||
|
||||
int ipv6_dev_mc_inc(struct net_device *dev, const struct in6_addr *addr);
|
||||
|
@ -305,10 +305,7 @@ static inline struct sock *skb_to_full_sk(const struct sk_buff *skb)
|
||||
return sk_to_full_sk(skb->sk);
|
||||
}
|
||||
|
||||
static inline struct inet_sock *inet_sk(const struct sock *sk)
|
||||
{
|
||||
return (struct inet_sock *)sk;
|
||||
}
|
||||
#define inet_sk(ptr) container_of_const(ptr, struct inet_sock, sk)
|
||||
|
||||
static inline void __inet_sk_copy_descendant(struct sock *sk_to,
|
||||
const struct sock *sk_from,
|
||||
|
@ -22,7 +22,7 @@
|
||||
extern struct proto raw_prot;
|
||||
|
||||
extern struct raw_hashinfo raw_v4_hashinfo;
|
||||
bool raw_v4_match(struct net *net, struct sock *sk, unsigned short num,
|
||||
bool raw_v4_match(struct net *net, const struct sock *sk, unsigned short num,
|
||||
__be32 raddr, __be32 laddr, int dif, int sdif);
|
||||
|
||||
int raw_abort(struct sock *sk, int err);
|
||||
|
@ -6,7 +6,7 @@
|
||||
#include <net/raw.h>
|
||||
|
||||
extern struct raw_hashinfo raw_v6_hashinfo;
|
||||
bool raw_v6_match(struct net *net, struct sock *sk, unsigned short num,
|
||||
bool raw_v6_match(struct net *net, const struct sock *sk, unsigned short num,
|
||||
const struct in6_addr *loc_addr,
|
||||
const struct in6_addr *rmt_addr, int dif, int sdif);
|
||||
|
||||
|
@ -158,7 +158,7 @@ TRACE_EVENT(inet_sock_set_state,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
struct in6_addr *pin6;
|
||||
__be32 *p32;
|
||||
|
||||
@ -222,7 +222,7 @@ TRACE_EVENT(inet_sk_error_report,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
struct in6_addr *pin6;
|
||||
__be32 *p32;
|
||||
|
||||
|
@ -67,7 +67,7 @@ DECLARE_EVENT_CLASS(tcp_event_sk_skb,
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
__be32 *p32;
|
||||
|
||||
__entry->skbaddr = skb;
|
||||
|
@ -2638,10 +2638,10 @@ int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf,
|
||||
/*
|
||||
* check if a multicast source filter allows delivery for a given <src,dst,intf>
|
||||
*/
|
||||
int ip_mc_sf_allow(struct sock *sk, __be32 loc_addr, __be32 rmt_addr,
|
||||
int ip_mc_sf_allow(const struct sock *sk, __be32 loc_addr, __be32 rmt_addr,
|
||||
int dif, int sdif)
|
||||
{
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
struct ip_mc_socklist *pmc;
|
||||
struct ip_sf_socklist *psl;
|
||||
int i;
|
||||
|
@ -129,7 +129,8 @@ int ip_local_out(struct net *net, struct sock *sk, struct sk_buff *skb)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ip_local_out);
|
||||
|
||||
static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
|
||||
static inline int ip_select_ttl(const struct inet_sock *inet,
|
||||
const struct dst_entry *dst)
|
||||
{
|
||||
int ttl = inet->uc_ttl;
|
||||
|
||||
@ -146,7 +147,7 @@ int ip_build_and_send_pkt(struct sk_buff *skb, const struct sock *sk,
|
||||
__be32 saddr, __be32 daddr, struct ip_options_rcu *opt,
|
||||
u8 tos)
|
||||
{
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
struct rtable *rt = skb_rtable(skb);
|
||||
struct net *net = sock_net(sk);
|
||||
struct iphdr *iph;
|
||||
|
@ -116,10 +116,10 @@ void raw_unhash_sk(struct sock *sk)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(raw_unhash_sk);
|
||||
|
||||
bool raw_v4_match(struct net *net, struct sock *sk, unsigned short num,
|
||||
bool raw_v4_match(struct net *net, const struct sock *sk, unsigned short num,
|
||||
__be32 raddr, __be32 laddr, int dif, int sdif)
|
||||
{
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
|
||||
if (net_eq(sock_net(sk), net) && inet->inet_num == num &&
|
||||
!(inet->inet_daddr && inet->inet_daddr != raddr) &&
|
||||
|
@ -34,7 +34,7 @@ raw_get_hashinfo(const struct inet_diag_req_v2 *r)
|
||||
* use helper to figure it out.
|
||||
*/
|
||||
|
||||
static bool raw_lookup(struct net *net, struct sock *sk,
|
||||
static bool raw_lookup(struct net *net, const struct sock *sk,
|
||||
const struct inet_diag_req_v2 *req)
|
||||
{
|
||||
struct inet_diag_req_raw *r = (void *)req;
|
||||
|
@ -578,12 +578,12 @@ struct sock *udp4_lib_lookup(struct net *net, __be32 saddr, __be16 sport,
|
||||
EXPORT_SYMBOL_GPL(udp4_lib_lookup);
|
||||
#endif
|
||||
|
||||
static inline bool __udp_is_mcast_sock(struct net *net, struct sock *sk,
|
||||
static inline bool __udp_is_mcast_sock(struct net *net, const struct sock *sk,
|
||||
__be16 loc_port, __be32 loc_addr,
|
||||
__be16 rmt_port, __be32 rmt_addr,
|
||||
int dif, int sdif, unsigned short hnum)
|
||||
{
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
|
||||
if (!net_eq(sock_net(sk), net) ||
|
||||
udp_sk(sk)->udp_port_hash != hnum ||
|
||||
|
@ -627,12 +627,12 @@ int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf,
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool inet6_mc_check(struct sock *sk, const struct in6_addr *mc_addr,
|
||||
bool inet6_mc_check(const struct sock *sk, const struct in6_addr *mc_addr,
|
||||
const struct in6_addr *src_addr)
|
||||
{
|
||||
struct ipv6_pinfo *np = inet6_sk(sk);
|
||||
struct ipv6_mc_socklist *mc;
|
||||
struct ip6_sf_socklist *psl;
|
||||
const struct ipv6_pinfo *np = inet6_sk(sk);
|
||||
const struct ipv6_mc_socklist *mc;
|
||||
const struct ip6_sf_socklist *psl;
|
||||
bool rv = true;
|
||||
|
||||
rcu_read_lock();
|
||||
|
@ -237,7 +237,7 @@ static int ping_v6_seq_show(struct seq_file *seq, void *v)
|
||||
seq_puts(seq, IPV6_SEQ_DGRAM_HEADER);
|
||||
} else {
|
||||
int bucket = ((struct ping_iter_state *) seq->private)->bucket;
|
||||
struct inet_sock *inet = inet_sk(v);
|
||||
struct inet_sock *inet = inet_sk((struct sock *)v);
|
||||
__u16 srcp = ntohs(inet->inet_sport);
|
||||
__u16 destp = ntohs(inet->inet_dport);
|
||||
ip6_dgram_sock_seq_show(seq, v, srcp, destp, bucket);
|
||||
|
@ -64,7 +64,7 @@
|
||||
struct raw_hashinfo raw_v6_hashinfo;
|
||||
EXPORT_SYMBOL_GPL(raw_v6_hashinfo);
|
||||
|
||||
bool raw_v6_match(struct net *net, struct sock *sk, unsigned short num,
|
||||
bool raw_v6_match(struct net *net, const struct sock *sk, unsigned short num,
|
||||
const struct in6_addr *loc_addr,
|
||||
const struct in6_addr *rmt_addr, int dif, int sdif)
|
||||
{
|
||||
|
@ -805,12 +805,12 @@ static int udpv6_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool __udp_v6_is_mcast_sock(struct net *net, struct sock *sk,
|
||||
static bool __udp_v6_is_mcast_sock(struct net *net, const struct sock *sk,
|
||||
__be16 loc_port, const struct in6_addr *loc_addr,
|
||||
__be16 rmt_port, const struct in6_addr *rmt_addr,
|
||||
int dif, int sdif, unsigned short hnum)
|
||||
{
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
|
||||
if (!net_eq(sock_net(sk), net))
|
||||
return false;
|
||||
@ -1708,7 +1708,7 @@ int udp6_seq_show(struct seq_file *seq, void *v)
|
||||
seq_puts(seq, IPV6_SEQ_DGRAM_HEADER);
|
||||
} else {
|
||||
int bucket = ((struct udp_iter_state *)seq->private)->bucket;
|
||||
struct inet_sock *inet = inet_sk(v);
|
||||
const struct inet_sock *inet = inet_sk((const struct sock *)v);
|
||||
__u16 srcp = ntohs(inet->inet_sport);
|
||||
__u16 destp = ntohs(inet->inet_dport);
|
||||
__ip6_dgram_sock_seq_show(seq, v, srcp, destp,
|
||||
|
@ -1046,7 +1046,7 @@ static int mptcp_getsockopt_tcpinfo(struct mptcp_sock *msk, char __user *optval,
|
||||
|
||||
static void mptcp_get_sub_addrs(const struct sock *sk, struct mptcp_subflow_addrs *a)
|
||||
{
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
|
||||
memset(a, 0, sizeof(*a));
|
||||
|
||||
|
@ -317,7 +317,7 @@ static void dump_common_audit_data(struct audit_buffer *ab,
|
||||
|
||||
switch (sk->sk_family) {
|
||||
case AF_INET: {
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
|
||||
print_ipv4_addr(ab, inet->inet_rcv_saddr,
|
||||
inet->inet_sport,
|
||||
@ -329,7 +329,7 @@ static void dump_common_audit_data(struct audit_buffer *ab,
|
||||
}
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
case AF_INET6: {
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
const struct inet_sock *inet = inet_sk(sk);
|
||||
|
||||
print_ipv6_addr(ab, &sk->sk_v6_rcv_saddr,
|
||||
inet->inet_sport,
|
||||
|
Loading…
Reference in New Issue
Block a user