diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/connector.h | 8 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 18 | ||||
| -rw-r--r-- | include/linux/phy.h | 12 | ||||
| -rw-r--r-- | include/net/caif/caif_shm.h | 26 | ||||
| -rw-r--r-- | include/net/dst.h | 2 | ||||
| -rw-r--r-- | include/net/fib_rules.h | 2 | ||||
| -rw-r--r-- | include/net/garp.h | 2 | ||||
| -rw-r--r-- | include/net/inetpeer.h | 2 | ||||
| -rw-r--r-- | include/net/ip.h | 4 | ||||
| -rw-r--r-- | include/net/ip6_tunnel.h | 2 | ||||
| -rw-r--r-- | include/net/ipip.h | 6 | ||||
| -rw-r--r-- | include/net/net_namespace.h | 2 | ||||
| -rw-r--r-- | include/net/protocol.h | 4 | ||||
| -rw-r--r-- | include/net/sock.h | 2 | ||||
| -rw-r--r-- | include/net/xfrm.h | 4 |
15 files changed, 51 insertions, 45 deletions
diff --git a/include/linux/connector.h b/include/linux/connector.h index 3a779ffba60b..7e8ca75d2dad 100644 --- a/include/linux/connector.h +++ b/include/linux/connector.h | |||
| @@ -88,12 +88,6 @@ struct cn_queue_dev { | |||
| 88 | unsigned char name[CN_CBQ_NAMELEN]; | 88 | unsigned char name[CN_CBQ_NAMELEN]; |
| 89 | 89 | ||
| 90 | struct workqueue_struct *cn_queue; | 90 | struct workqueue_struct *cn_queue; |
| 91 | /* Sent to kevent to create cn_queue only when needed */ | ||
| 92 | struct work_struct wq_creation; | ||
| 93 | /* Tell if the wq_creation job is pending/completed */ | ||
| 94 | atomic_t wq_requested; | ||
| 95 | /* Wait for cn_queue to be created */ | ||
| 96 | wait_queue_head_t wq_created; | ||
| 97 | 91 | ||
| 98 | struct list_head queue_list; | 92 | struct list_head queue_list; |
| 99 | spinlock_t queue_lock; | 93 | spinlock_t queue_lock; |
| @@ -141,8 +135,6 @@ int cn_netlink_send(struct cn_msg *, u32, gfp_t); | |||
| 141 | int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(struct cn_msg *, struct netlink_skb_parms *)); | 135 | int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(struct cn_msg *, struct netlink_skb_parms *)); |
| 142 | void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id); | 136 | void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id); |
| 143 | 137 | ||
| 144 | int queue_cn_work(struct cn_callback_entry *cbq, struct work_struct *work); | ||
| 145 | |||
| 146 | struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *); | 138 | struct cn_queue_dev *cn_queue_alloc_dev(char *name, struct sock *); |
| 147 | void cn_queue_free_dev(struct cn_queue_dev *dev); | 139 | void cn_queue_free_dev(struct cn_queue_dev *dev); |
| 148 | 140 | ||
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index fcd3dda86322..072652d94d9f 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -585,15 +585,15 @@ static inline void rps_reset_sock_flow(struct rps_sock_flow_table *table, | |||
| 585 | table->ents[hash & table->mask] = RPS_NO_CPU; | 585 | table->ents[hash & table->mask] = RPS_NO_CPU; |
| 586 | } | 586 | } |
| 587 | 587 | ||
| 588 | extern struct rps_sock_flow_table *rps_sock_flow_table; | 588 | extern struct rps_sock_flow_table __rcu *rps_sock_flow_table; |
| 589 | 589 | ||
| 590 | /* This structure contains an instance of an RX queue. */ | 590 | /* This structure contains an instance of an RX queue. */ |
| 591 | struct netdev_rx_queue { | 591 | struct netdev_rx_queue { |
| 592 | struct rps_map *rps_map; | 592 | struct rps_map __rcu *rps_map; |
| 593 | struct rps_dev_flow_table *rps_flow_table; | 593 | struct rps_dev_flow_table __rcu *rps_flow_table; |
| 594 | struct kobject kobj; | 594 | struct kobject kobj; |
| 595 | struct netdev_rx_queue *first; | 595 | struct netdev_rx_queue *first; |
| 596 | atomic_t count; | 596 | atomic_t count; |
| 597 | } ____cacheline_aligned_in_smp; | 597 | } ____cacheline_aligned_in_smp; |
| 598 | #endif /* CONFIG_RPS */ | 598 | #endif /* CONFIG_RPS */ |
| 599 | 599 | ||
| @@ -944,7 +944,7 @@ struct net_device { | |||
| 944 | /* Protocol specific pointers */ | 944 | /* Protocol specific pointers */ |
| 945 | 945 | ||
| 946 | #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) | 946 | #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) |
| 947 | struct vlan_group *vlgrp; /* VLAN group */ | 947 | struct vlan_group __rcu *vlgrp; /* VLAN group */ |
| 948 | #endif | 948 | #endif |
| 949 | #ifdef CONFIG_NET_DSA | 949 | #ifdef CONFIG_NET_DSA |
| 950 | void *dsa_ptr; /* dsa specific data */ | 950 | void *dsa_ptr; /* dsa specific data */ |
| @@ -952,7 +952,7 @@ struct net_device { | |||
| 952 | void *atalk_ptr; /* AppleTalk link */ | 952 | void *atalk_ptr; /* AppleTalk link */ |
| 953 | struct in_device __rcu *ip_ptr; /* IPv4 specific data */ | 953 | struct in_device __rcu *ip_ptr; /* IPv4 specific data */ |
| 954 | void *dn_ptr; /* DECnet specific data */ | 954 | void *dn_ptr; /* DECnet specific data */ |
| 955 | void *ip6_ptr; /* IPv6 specific data */ | 955 | struct inet6_dev __rcu *ip6_ptr; /* IPv6 specific data */ |
| 956 | void *ec_ptr; /* Econet specific data */ | 956 | void *ec_ptr; /* Econet specific data */ |
| 957 | void *ax25_ptr; /* AX.25 specific data */ | 957 | void *ax25_ptr; /* AX.25 specific data */ |
| 958 | struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data, | 958 | struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data, |
| @@ -1072,7 +1072,7 @@ struct net_device { | |||
| 1072 | struct pcpu_dstats __percpu *dstats; /* dummy stats */ | 1072 | struct pcpu_dstats __percpu *dstats; /* dummy stats */ |
| 1073 | }; | 1073 | }; |
| 1074 | /* GARP */ | 1074 | /* GARP */ |
| 1075 | struct garp_port *garp_port; | 1075 | struct garp_port __rcu *garp_port; |
| 1076 | 1076 | ||
| 1077 | /* class/net/name entry */ | 1077 | /* class/net/name entry */ |
| 1078 | struct device dev; | 1078 | struct device dev; |
diff --git a/include/linux/phy.h b/include/linux/phy.h index a6e047a04f79..7da5fa845959 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h | |||
| @@ -472,11 +472,7 @@ static inline int phy_write(struct phy_device *phydev, u32 regnum, u16 val) | |||
| 472 | int get_phy_id(struct mii_bus *bus, int addr, u32 *phy_id); | 472 | int get_phy_id(struct mii_bus *bus, int addr, u32 *phy_id); |
| 473 | struct phy_device* get_phy_device(struct mii_bus *bus, int addr); | 473 | struct phy_device* get_phy_device(struct mii_bus *bus, int addr); |
| 474 | int phy_device_register(struct phy_device *phy); | 474 | int phy_device_register(struct phy_device *phy); |
| 475 | int phy_clear_interrupt(struct phy_device *phydev); | ||
| 476 | int phy_config_interrupt(struct phy_device *phydev, u32 interrupts); | ||
| 477 | int phy_init_hw(struct phy_device *phydev); | 475 | int phy_init_hw(struct phy_device *phydev); |
| 478 | int phy_attach_direct(struct net_device *dev, struct phy_device *phydev, | ||
| 479 | u32 flags, phy_interface_t interface); | ||
| 480 | struct phy_device * phy_attach(struct net_device *dev, | 476 | struct phy_device * phy_attach(struct net_device *dev, |
| 481 | const char *bus_id, u32 flags, phy_interface_t interface); | 477 | const char *bus_id, u32 flags, phy_interface_t interface); |
| 482 | struct phy_device *phy_find_first(struct mii_bus *bus); | 478 | struct phy_device *phy_find_first(struct mii_bus *bus); |
| @@ -492,17 +488,12 @@ void phy_start(struct phy_device *phydev); | |||
| 492 | void phy_stop(struct phy_device *phydev); | 488 | void phy_stop(struct phy_device *phydev); |
| 493 | int phy_start_aneg(struct phy_device *phydev); | 489 | int phy_start_aneg(struct phy_device *phydev); |
| 494 | 490 | ||
| 495 | void phy_sanitize_settings(struct phy_device *phydev); | ||
| 496 | int phy_stop_interrupts(struct phy_device *phydev); | 491 | int phy_stop_interrupts(struct phy_device *phydev); |
| 497 | int phy_enable_interrupts(struct phy_device *phydev); | ||
| 498 | int phy_disable_interrupts(struct phy_device *phydev); | ||
| 499 | 492 | ||
| 500 | static inline int phy_read_status(struct phy_device *phydev) { | 493 | static inline int phy_read_status(struct phy_device *phydev) { |
| 501 | return phydev->drv->read_status(phydev); | 494 | return phydev->drv->read_status(phydev); |
| 502 | } | 495 | } |
| 503 | 496 | ||
| 504 | int genphy_config_advert(struct phy_device *phydev); | ||
| 505 | int genphy_setup_forced(struct phy_device *phydev); | ||
| 506 | int genphy_restart_aneg(struct phy_device *phydev); | 497 | int genphy_restart_aneg(struct phy_device *phydev); |
| 507 | int genphy_config_aneg(struct phy_device *phydev); | 498 | int genphy_config_aneg(struct phy_device *phydev); |
| 508 | int genphy_update_link(struct phy_device *phydev); | 499 | int genphy_update_link(struct phy_device *phydev); |
| @@ -511,8 +502,6 @@ int genphy_suspend(struct phy_device *phydev); | |||
| 511 | int genphy_resume(struct phy_device *phydev); | 502 | int genphy_resume(struct phy_device *phydev); |
| 512 | void phy_driver_unregister(struct phy_driver *drv); | 503 | void phy_driver_unregister(struct phy_driver *drv); |
| 513 | int phy_driver_register(struct phy_driver *new_driver); | 504 | int phy_driver_register(struct phy_driver *new_driver); |
| 514 | void phy_prepare_link(struct phy_device *phydev, | ||
| 515 | void (*adjust_link)(struct net_device *)); | ||
| 516 | void phy_state_machine(struct work_struct *work); | 505 | void phy_state_machine(struct work_struct *work); |
| 517 | void phy_start_machine(struct phy_device *phydev, | 506 | void phy_start_machine(struct phy_device *phydev, |
| 518 | void (*handler)(struct net_device *)); | 507 | void (*handler)(struct net_device *)); |
| @@ -523,7 +512,6 @@ int phy_mii_ioctl(struct phy_device *phydev, | |||
| 523 | struct ifreq *ifr, int cmd); | 512 | struct ifreq *ifr, int cmd); |
| 524 | int phy_start_interrupts(struct phy_device *phydev); | 513 | int phy_start_interrupts(struct phy_device *phydev); |
| 525 | void phy_print_status(struct phy_device *phydev); | 514 | void phy_print_status(struct phy_device *phydev); |
| 526 | struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id); | ||
| 527 | void phy_device_free(struct phy_device *phydev); | 515 | void phy_device_free(struct phy_device *phydev); |
| 528 | 516 | ||
| 529 | int phy_register_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask, | 517 | int phy_register_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask, |
diff --git a/include/net/caif/caif_shm.h b/include/net/caif/caif_shm.h new file mode 100644 index 000000000000..5bcce55438cf --- /dev/null +++ b/include/net/caif/caif_shm.h | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) ST-Ericsson AB 2010 | ||
| 3 | * Contact: Sjur Brendeland / sjur.brandeland@stericsson.com | ||
| 4 | * Author: Amarnath Revanna / amarnath.bangalore.revanna@stericsson.com | ||
| 5 | * License terms: GNU General Public License (GPL) version 2 | ||
| 6 | */ | ||
| 7 | |||
| 8 | #ifndef CAIF_SHM_H_ | ||
| 9 | #define CAIF_SHM_H_ | ||
| 10 | |||
| 11 | struct shmdev_layer { | ||
| 12 | u32 shm_base_addr; | ||
| 13 | u32 shm_total_sz; | ||
| 14 | u32 shm_id; | ||
| 15 | u32 shm_loopback; | ||
| 16 | void *hmbx; | ||
| 17 | int (*pshmdev_mbxsend) (u32 shm_id, u32 mbx_msg); | ||
| 18 | int (*pshmdev_mbxsetup) (void *pshmdrv_cb, | ||
| 19 | struct shmdev_layer *pshm_dev, void *pshm_drv); | ||
| 20 | struct net_device *pshm_netdev; | ||
| 21 | }; | ||
| 22 | |||
| 23 | extern int caif_shmcore_probe(struct shmdev_layer *pshm_dev); | ||
| 24 | extern void caif_shmcore_remove(struct net_device *pshm_netdev); | ||
| 25 | |||
| 26 | #endif | ||
diff --git a/include/net/dst.h b/include/net/dst.h index a217c838ec0d..ffe9cb719c0e 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
| @@ -95,7 +95,7 @@ struct dst_entry { | |||
| 95 | unsigned long lastuse; | 95 | unsigned long lastuse; |
| 96 | union { | 96 | union { |
| 97 | struct dst_entry *next; | 97 | struct dst_entry *next; |
| 98 | struct rtable *rt_next; | 98 | struct rtable __rcu *rt_next; |
| 99 | struct rt6_info *rt6_next; | 99 | struct rt6_info *rt6_next; |
| 100 | struct dn_route *dn_next; | 100 | struct dn_route *dn_next; |
| 101 | }; | 101 | }; |
diff --git a/include/net/fib_rules.h b/include/net/fib_rules.h index 106f3097d384..075f1e3a0fed 100644 --- a/include/net/fib_rules.h +++ b/include/net/fib_rules.h | |||
| @@ -20,7 +20,7 @@ struct fib_rule { | |||
| 20 | u32 table; | 20 | u32 table; |
| 21 | u8 action; | 21 | u8 action; |
| 22 | u32 target; | 22 | u32 target; |
| 23 | struct fib_rule * ctarget; | 23 | struct fib_rule __rcu *ctarget; |
| 24 | char iifname[IFNAMSIZ]; | 24 | char iifname[IFNAMSIZ]; |
| 25 | char oifname[IFNAMSIZ]; | 25 | char oifname[IFNAMSIZ]; |
| 26 | struct rcu_head rcu; | 26 | struct rcu_head rcu; |
diff --git a/include/net/garp.h b/include/net/garp.h index 825f172caba9..f4c295984c45 100644 --- a/include/net/garp.h +++ b/include/net/garp.h | |||
| @@ -107,7 +107,7 @@ struct garp_applicant { | |||
| 107 | }; | 107 | }; |
| 108 | 108 | ||
| 109 | struct garp_port { | 109 | struct garp_port { |
| 110 | struct garp_applicant *applicants[GARP_APPLICATION_MAX + 1]; | 110 | struct garp_applicant __rcu *applicants[GARP_APPLICATION_MAX + 1]; |
| 111 | }; | 111 | }; |
| 112 | 112 | ||
| 113 | extern int garp_register_application(struct garp_application *app); | 113 | extern int garp_register_application(struct garp_application *app); |
diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h index 417d0c894f29..fe239bfe5f7f 100644 --- a/include/net/inetpeer.h +++ b/include/net/inetpeer.h | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | struct inet_peer { | 16 | struct inet_peer { |
| 17 | /* group together avl_left,avl_right,v4daddr to speedup lookups */ | 17 | /* group together avl_left,avl_right,v4daddr to speedup lookups */ |
| 18 | struct inet_peer *avl_left, *avl_right; | 18 | struct inet_peer __rcu *avl_left, *avl_right; |
| 19 | __be32 v4daddr; /* peer's address */ | 19 | __be32 v4daddr; /* peer's address */ |
| 20 | __u32 avl_height; | 20 | __u32 avl_height; |
| 21 | struct list_head unused; | 21 | struct list_head unused; |
diff --git a/include/net/ip.h b/include/net/ip.h index dbee3fe260e1..86e2b182a0c0 100644 --- a/include/net/ip.h +++ b/include/net/ip.h | |||
| @@ -59,7 +59,7 @@ struct ipcm_cookie { | |||
| 59 | #define IPCB(skb) ((struct inet_skb_parm*)((skb)->cb)) | 59 | #define IPCB(skb) ((struct inet_skb_parm*)((skb)->cb)) |
| 60 | 60 | ||
| 61 | struct ip_ra_chain { | 61 | struct ip_ra_chain { |
| 62 | struct ip_ra_chain *next; | 62 | struct ip_ra_chain __rcu *next; |
| 63 | struct sock *sk; | 63 | struct sock *sk; |
| 64 | union { | 64 | union { |
| 65 | void (*destructor)(struct sock *); | 65 | void (*destructor)(struct sock *); |
| @@ -68,7 +68,7 @@ struct ip_ra_chain { | |||
| 68 | struct rcu_head rcu; | 68 | struct rcu_head rcu; |
| 69 | }; | 69 | }; |
| 70 | 70 | ||
| 71 | extern struct ip_ra_chain *ip_ra_chain; | 71 | extern struct ip_ra_chain __rcu *ip_ra_chain; |
| 72 | 72 | ||
| 73 | /* IP flags. */ | 73 | /* IP flags. */ |
| 74 | #define IP_CE 0x8000 /* Flag: "Congestion" */ | 74 | #define IP_CE 0x8000 /* Flag: "Congestion" */ |
diff --git a/include/net/ip6_tunnel.h b/include/net/ip6_tunnel.h index fc94ec568a50..fc73e667b50e 100644 --- a/include/net/ip6_tunnel.h +++ b/include/net/ip6_tunnel.h | |||
| @@ -13,7 +13,7 @@ | |||
| 13 | /* IPv6 tunnel */ | 13 | /* IPv6 tunnel */ |
| 14 | 14 | ||
| 15 | struct ip6_tnl { | 15 | struct ip6_tnl { |
| 16 | struct ip6_tnl *next; /* next tunnel in list */ | 16 | struct ip6_tnl __rcu *next; /* next tunnel in list */ |
| 17 | struct net_device *dev; /* virtual device associated with tunnel */ | 17 | struct net_device *dev; /* virtual device associated with tunnel */ |
| 18 | struct ip6_tnl_parm parms; /* tunnel configuration parameters */ | 18 | struct ip6_tnl_parm parms; /* tunnel configuration parameters */ |
| 19 | struct flowi fl; /* flowi template for xmit */ | 19 | struct flowi fl; /* flowi template for xmit */ |
diff --git a/include/net/ipip.h b/include/net/ipip.h index 58abbf966b0c..a32654d52730 100644 --- a/include/net/ipip.h +++ b/include/net/ipip.h | |||
| @@ -16,7 +16,7 @@ struct ip_tunnel_6rd_parm { | |||
| 16 | }; | 16 | }; |
| 17 | 17 | ||
| 18 | struct ip_tunnel { | 18 | struct ip_tunnel { |
| 19 | struct ip_tunnel *next; | 19 | struct ip_tunnel __rcu *next; |
| 20 | struct net_device *dev; | 20 | struct net_device *dev; |
| 21 | 21 | ||
| 22 | int err_count; /* Number of arrived ICMP errors */ | 22 | int err_count; /* Number of arrived ICMP errors */ |
| @@ -34,12 +34,12 @@ struct ip_tunnel { | |||
| 34 | #ifdef CONFIG_IPV6_SIT_6RD | 34 | #ifdef CONFIG_IPV6_SIT_6RD |
| 35 | struct ip_tunnel_6rd_parm ip6rd; | 35 | struct ip_tunnel_6rd_parm ip6rd; |
| 36 | #endif | 36 | #endif |
| 37 | struct ip_tunnel_prl_entry *prl; /* potential router list */ | 37 | struct ip_tunnel_prl_entry __rcu *prl; /* potential router list */ |
| 38 | unsigned int prl_count; /* # of entries in PRL */ | 38 | unsigned int prl_count; /* # of entries in PRL */ |
| 39 | }; | 39 | }; |
| 40 | 40 | ||
| 41 | struct ip_tunnel_prl_entry { | 41 | struct ip_tunnel_prl_entry { |
| 42 | struct ip_tunnel_prl_entry *next; | 42 | struct ip_tunnel_prl_entry __rcu *next; |
| 43 | __be32 addr; | 43 | __be32 addr; |
| 44 | u16 flags; | 44 | u16 flags; |
| 45 | struct rcu_head rcu_head; | 45 | struct rcu_head rcu_head; |
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index 65af9a07cf76..1bf812b21fb7 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h | |||
| @@ -88,7 +88,7 @@ struct net { | |||
| 88 | #ifdef CONFIG_WEXT_CORE | 88 | #ifdef CONFIG_WEXT_CORE |
| 89 | struct sk_buff_head wext_nlevents; | 89 | struct sk_buff_head wext_nlevents; |
| 90 | #endif | 90 | #endif |
| 91 | struct net_generic *gen; | 91 | struct net_generic __rcu *gen; |
| 92 | 92 | ||
| 93 | /* Note : following structs are cache line aligned */ | 93 | /* Note : following structs are cache line aligned */ |
| 94 | #ifdef CONFIG_XFRM | 94 | #ifdef CONFIG_XFRM |
diff --git a/include/net/protocol.h b/include/net/protocol.h index f1effdd3c265..dc07495bce4c 100644 --- a/include/net/protocol.h +++ b/include/net/protocol.h | |||
| @@ -89,10 +89,10 @@ struct inet_protosw { | |||
| 89 | #define INET_PROTOSW_PERMANENT 0x02 /* Permanent protocols are unremovable. */ | 89 | #define INET_PROTOSW_PERMANENT 0x02 /* Permanent protocols are unremovable. */ |
| 90 | #define INET_PROTOSW_ICSK 0x04 /* Is this an inet_connection_sock? */ | 90 | #define INET_PROTOSW_ICSK 0x04 /* Is this an inet_connection_sock? */ |
| 91 | 91 | ||
| 92 | extern const struct net_protocol *inet_protos[MAX_INET_PROTOS]; | 92 | extern const struct net_protocol __rcu *inet_protos[MAX_INET_PROTOS]; |
| 93 | 93 | ||
| 94 | #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) | 94 | #if defined(CONFIG_IPV6) || defined (CONFIG_IPV6_MODULE) |
| 95 | extern const struct inet6_protocol *inet6_protos[MAX_INET_PROTOS]; | 95 | extern const struct inet6_protocol __rcu *inet6_protos[MAX_INET_PROTOS]; |
| 96 | #endif | 96 | #endif |
| 97 | 97 | ||
| 98 | extern int inet_add_protocol(const struct net_protocol *prot, unsigned char num); | 98 | extern int inet_add_protocol(const struct net_protocol *prot, unsigned char num); |
diff --git a/include/net/sock.h b/include/net/sock.h index 73a4f9702a65..c7a736228ca2 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
| @@ -301,7 +301,7 @@ struct sock { | |||
| 301 | const struct cred *sk_peer_cred; | 301 | const struct cred *sk_peer_cred; |
| 302 | long sk_rcvtimeo; | 302 | long sk_rcvtimeo; |
| 303 | long sk_sndtimeo; | 303 | long sk_sndtimeo; |
| 304 | struct sk_filter *sk_filter; | 304 | struct sk_filter __rcu *sk_filter; |
| 305 | void *sk_protinfo; | 305 | void *sk_protinfo; |
| 306 | struct timer_list sk_timer; | 306 | struct timer_list sk_timer; |
| 307 | ktime_t sk_stamp; | 307 | ktime_t sk_stamp; |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index f28d7c9b9f8d..bcfb6b24b019 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
| @@ -1264,7 +1264,7 @@ struct xfrm_tunnel { | |||
| 1264 | int (*handler)(struct sk_buff *skb); | 1264 | int (*handler)(struct sk_buff *skb); |
| 1265 | int (*err_handler)(struct sk_buff *skb, u32 info); | 1265 | int (*err_handler)(struct sk_buff *skb, u32 info); |
| 1266 | 1266 | ||
| 1267 | struct xfrm_tunnel *next; | 1267 | struct xfrm_tunnel __rcu *next; |
| 1268 | int priority; | 1268 | int priority; |
| 1269 | }; | 1269 | }; |
| 1270 | 1270 | ||
| @@ -1272,7 +1272,7 @@ struct xfrm6_tunnel { | |||
| 1272 | int (*handler)(struct sk_buff *skb); | 1272 | int (*handler)(struct sk_buff *skb); |
| 1273 | int (*err_handler)(struct sk_buff *skb, struct inet6_skb_parm *opt, | 1273 | int (*err_handler)(struct sk_buff *skb, struct inet6_skb_parm *opt, |
| 1274 | u8 type, u8 code, int offset, __be32 info); | 1274 | u8 type, u8 code, int offset, __be32 info); |
| 1275 | struct xfrm6_tunnel *next; | 1275 | struct xfrm6_tunnel __rcu *next; |
| 1276 | int priority; | 1276 | int priority; |
| 1277 | }; | 1277 | }; |
| 1278 | 1278 | ||
