Merge branch 'master'
This commit is contained in:
@@ -136,7 +136,7 @@ struct bt_skb_cb {
|
||||
};
|
||||
#define bt_cb(skb) ((struct bt_skb_cb *)(skb->cb))
|
||||
|
||||
static inline struct sk_buff *bt_skb_alloc(unsigned int len, unsigned int __nocast how)
|
||||
static inline struct sk_buff *bt_skb_alloc(unsigned int len, gfp_t how)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
||||
|
||||
@@ -230,7 +230,7 @@ int rfcomm_send_rpn(struct rfcomm_session *s, int cr, u8 dlci,
|
||||
u8 xon_char, u8 xoff_char, u16 param_mask);
|
||||
|
||||
/* ---- RFCOMM DLCs (channels) ---- */
|
||||
struct rfcomm_dlc *rfcomm_dlc_alloc(unsigned int __nocast prio);
|
||||
struct rfcomm_dlc *rfcomm_dlc_alloc(gfp_t prio);
|
||||
void rfcomm_dlc_free(struct rfcomm_dlc *d);
|
||||
int rfcomm_dlc_open(struct rfcomm_dlc *d, bdaddr_t *src, bdaddr_t *dst, u8 channel);
|
||||
int rfcomm_dlc_close(struct rfcomm_dlc *d, int reason);
|
||||
|
||||
@@ -19,9 +19,9 @@ extern void dn_nsp_send_data_ack(struct sock *sk);
|
||||
extern void dn_nsp_send_oth_ack(struct sock *sk);
|
||||
extern void dn_nsp_delayed_ack(struct sock *sk);
|
||||
extern void dn_send_conn_ack(struct sock *sk);
|
||||
extern void dn_send_conn_conf(struct sock *sk, int gfp);
|
||||
extern void dn_send_conn_conf(struct sock *sk, gfp_t gfp);
|
||||
extern void dn_nsp_send_disc(struct sock *sk, unsigned char type,
|
||||
unsigned short reason, int gfp);
|
||||
unsigned short reason, gfp_t gfp);
|
||||
extern void dn_nsp_return_disc(struct sk_buff *skb, unsigned char type,
|
||||
unsigned short reason);
|
||||
extern void dn_nsp_send_link(struct sock *sk, unsigned char lsflags, char fcval);
|
||||
@@ -29,14 +29,14 @@ extern void dn_nsp_send_conninit(struct sock *sk, unsigned char flags);
|
||||
|
||||
extern void dn_nsp_output(struct sock *sk);
|
||||
extern int dn_nsp_check_xmit_queue(struct sock *sk, struct sk_buff *skb, struct sk_buff_head *q, unsigned short acknum);
|
||||
extern void dn_nsp_queue_xmit(struct sock *sk, struct sk_buff *skb, int gfp, int oob);
|
||||
extern void dn_nsp_queue_xmit(struct sock *sk, struct sk_buff *skb, gfp_t gfp, int oob);
|
||||
extern unsigned long dn_nsp_persist(struct sock *sk);
|
||||
extern int dn_nsp_xmit_timeout(struct sock *sk);
|
||||
|
||||
extern int dn_nsp_rx(struct sk_buff *);
|
||||
extern int dn_nsp_backlog_rcv(struct sock *sk, struct sk_buff *skb);
|
||||
|
||||
extern struct sk_buff *dn_alloc_skb(struct sock *sk, int size, int pri);
|
||||
extern struct sk_buff *dn_alloc_skb(struct sock *sk, int size, gfp_t pri);
|
||||
extern struct sk_buff *dn_alloc_send_skb(struct sock *sk, size_t *size, int noblock, long timeo, int *err);
|
||||
|
||||
#define NSP_REASON_OK 0 /* No error */
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
GNU General Public License for more details.
|
||||
*******************************************************************************/
|
||||
|
||||
extern struct sk_buff *dn_alloc_skb(struct sock *sk, int size, int pri);
|
||||
extern struct sk_buff *dn_alloc_skb(struct sock *sk, int size, gfp_t pri);
|
||||
extern int dn_route_output_sock(struct dst_entry **pprt, struct flowi *, struct sock *sk, int flags);
|
||||
extern int dn_cache_dump(struct sk_buff *skb, struct netlink_callback *cb);
|
||||
extern int dn_cache_getroute(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg);
|
||||
|
||||
@@ -94,7 +94,7 @@ static inline void *inet_csk_ca(const struct sock *sk)
|
||||
|
||||
extern struct sock *inet_csk_clone(struct sock *sk,
|
||||
const struct request_sock *req,
|
||||
const unsigned int __nocast priority);
|
||||
const gfp_t priority);
|
||||
|
||||
enum inet_csk_ack_state_t {
|
||||
ICSK_ACK_SCHED = 1,
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
struct inet_ehash_bucket {
|
||||
rwlock_t lock;
|
||||
struct hlist_head chain;
|
||||
} __attribute__((__aligned__(8)));
|
||||
};
|
||||
|
||||
/* There are a few simple rules, which allow for local port reuse by
|
||||
* an application. In essence:
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#include <linux/ip.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/workqueue.h>
|
||||
@@ -193,11 +194,13 @@ static inline u32 inet_rcv_saddr(const struct sock *sk)
|
||||
static inline void inet_twsk_put(struct inet_timewait_sock *tw)
|
||||
{
|
||||
if (atomic_dec_and_test(&tw->tw_refcnt)) {
|
||||
struct module *owner = tw->tw_prot->owner;
|
||||
#ifdef SOCK_REFCNT_DEBUG
|
||||
printk(KERN_DEBUG "%s timewait_sock %p released\n",
|
||||
tw->tw_prot->name, tw);
|
||||
#endif
|
||||
kmem_cache_free(tw->tw_prot->twsk_slab, tw);
|
||||
module_put(owner);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -832,7 +832,7 @@ extern void ip_vs_app_inc_put(struct ip_vs_app *inc);
|
||||
|
||||
extern int ip_vs_app_pkt_out(struct ip_vs_conn *, struct sk_buff **pskb);
|
||||
extern int ip_vs_app_pkt_in(struct ip_vs_conn *, struct sk_buff **pskb);
|
||||
extern int ip_vs_skb_replace(struct sk_buff *skb, int pri,
|
||||
extern int ip_vs_skb_replace(struct sk_buff *skb, gfp_t pri,
|
||||
char *o_buf, int o_len, char *n_buf, int n_len);
|
||||
extern int ip_vs_app_init(void);
|
||||
extern void ip_vs_app_cleanup(void);
|
||||
|
||||
@@ -93,7 +93,7 @@ static __inline__ char llc_backlog_type(struct sk_buff *skb)
|
||||
return skb->cb[sizeof(skb->cb) - 1];
|
||||
}
|
||||
|
||||
extern struct sock *llc_sk_alloc(int family, unsigned int __nocast priority,
|
||||
extern struct sock *llc_sk_alloc(int family, gfp_t priority,
|
||||
struct proto *prot);
|
||||
extern void llc_sk_free(struct sock *sk);
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
*/
|
||||
extern struct sock *sctp_get_ctl_sock(void);
|
||||
extern int sctp_copy_local_addr_list(struct sctp_bind_addr *,
|
||||
sctp_scope_t, unsigned int __nocast gfp,
|
||||
sctp_scope_t, gfp_t gfp,
|
||||
int flags);
|
||||
extern struct sctp_pf *sctp_get_pf_specific(sa_family_t family);
|
||||
extern int sctp_register_pf(struct sctp_pf *, sa_family_t);
|
||||
|
||||
@@ -181,17 +181,17 @@ const sctp_sm_table_entry_t *sctp_sm_lookup_event(sctp_event_t,
|
||||
int sctp_chunk_iif(const struct sctp_chunk *);
|
||||
struct sctp_association *sctp_make_temp_asoc(const struct sctp_endpoint *,
|
||||
struct sctp_chunk *,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
__u32 sctp_generate_verification_tag(void);
|
||||
void sctp_populate_tie_tags(__u8 *cookie, __u32 curTag, __u32 hisTag);
|
||||
|
||||
/* Prototypes for chunk-building functions. */
|
||||
struct sctp_chunk *sctp_make_init(const struct sctp_association *,
|
||||
const struct sctp_bind_addr *,
|
||||
unsigned int __nocast gfp, int vparam_len);
|
||||
gfp_t gfp, int vparam_len);
|
||||
struct sctp_chunk *sctp_make_init_ack(const struct sctp_association *,
|
||||
const struct sctp_chunk *,
|
||||
const unsigned int __nocast gfp,
|
||||
const gfp_t gfp,
|
||||
const int unkparam_len);
|
||||
struct sctp_chunk *sctp_make_cookie_echo(const struct sctp_association *,
|
||||
const struct sctp_chunk *);
|
||||
@@ -265,7 +265,7 @@ int sctp_do_sm(sctp_event_t event_type, sctp_subtype_t subtype,
|
||||
struct sctp_endpoint *,
|
||||
struct sctp_association *asoc,
|
||||
void *event_arg,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
|
||||
/* 2nd level prototypes */
|
||||
void sctp_generate_t3_rtx_event(unsigned long peer);
|
||||
@@ -276,7 +276,7 @@ void sctp_ootb_pkt_free(struct sctp_packet *);
|
||||
struct sctp_association *sctp_unpack_cookie(const struct sctp_endpoint *,
|
||||
const struct sctp_association *,
|
||||
struct sctp_chunk *,
|
||||
unsigned int __nocast gfp, int *err,
|
||||
gfp_t gfp, int *err,
|
||||
struct sctp_chunk **err_chk_p);
|
||||
int sctp_addip_addr_config(struct sctp_association *, sctp_param_t,
|
||||
struct sockaddr_storage*, int);
|
||||
|
||||
+12
-12
@@ -446,7 +446,7 @@ struct sctp_ssnmap {
|
||||
};
|
||||
|
||||
struct sctp_ssnmap *sctp_ssnmap_new(__u16 in, __u16 out,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
void sctp_ssnmap_free(struct sctp_ssnmap *map);
|
||||
void sctp_ssnmap_clear(struct sctp_ssnmap *map);
|
||||
|
||||
@@ -947,7 +947,7 @@ struct sctp_transport {
|
||||
};
|
||||
|
||||
struct sctp_transport *sctp_transport_new(const union sctp_addr *,
|
||||
unsigned int __nocast);
|
||||
gfp_t);
|
||||
void sctp_transport_set_owner(struct sctp_transport *,
|
||||
struct sctp_association *);
|
||||
void sctp_transport_route(struct sctp_transport *, union sctp_addr *,
|
||||
@@ -1095,10 +1095,10 @@ void sctp_bind_addr_init(struct sctp_bind_addr *, __u16 port);
|
||||
void sctp_bind_addr_free(struct sctp_bind_addr *);
|
||||
int sctp_bind_addr_copy(struct sctp_bind_addr *dest,
|
||||
const struct sctp_bind_addr *src,
|
||||
sctp_scope_t scope, unsigned int __nocast gfp,
|
||||
sctp_scope_t scope, gfp_t gfp,
|
||||
int flags);
|
||||
int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *);
|
||||
int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *,
|
||||
struct sctp_sock *);
|
||||
@@ -1108,9 +1108,9 @@ union sctp_addr *sctp_find_unmatch_addr(struct sctp_bind_addr *bp,
|
||||
struct sctp_sock *opt);
|
||||
union sctp_params sctp_bind_addrs_to_raw(const struct sctp_bind_addr *bp,
|
||||
int *addrs_len,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
int sctp_raw_to_bind_addrs(struct sctp_bind_addr *bp, __u8 *raw, int len,
|
||||
__u16 port, unsigned int __nocast gfp);
|
||||
__u16 port, gfp_t gfp);
|
||||
|
||||
sctp_scope_t sctp_scope(const union sctp_addr *);
|
||||
int sctp_in_scope(const union sctp_addr *addr, const sctp_scope_t scope);
|
||||
@@ -1239,7 +1239,7 @@ static inline struct sctp_endpoint *sctp_ep(struct sctp_ep_common *base)
|
||||
}
|
||||
|
||||
/* These are function signatures for manipulating endpoints. */
|
||||
struct sctp_endpoint *sctp_endpoint_new(struct sock *, unsigned int __nocast);
|
||||
struct sctp_endpoint *sctp_endpoint_new(struct sock *, gfp_t);
|
||||
void sctp_endpoint_free(struct sctp_endpoint *);
|
||||
void sctp_endpoint_put(struct sctp_endpoint *);
|
||||
void sctp_endpoint_hold(struct sctp_endpoint *);
|
||||
@@ -1260,7 +1260,7 @@ int sctp_verify_init(const struct sctp_association *asoc, sctp_cid_t,
|
||||
struct sctp_chunk **err_chunk);
|
||||
int sctp_process_init(struct sctp_association *, sctp_cid_t cid,
|
||||
const union sctp_addr *peer,
|
||||
sctp_init_chunk_t *init, unsigned int __nocast gfp);
|
||||
sctp_init_chunk_t *init, gfp_t gfp);
|
||||
__u32 sctp_generate_tag(const struct sctp_endpoint *);
|
||||
__u32 sctp_generate_tsn(const struct sctp_endpoint *);
|
||||
|
||||
@@ -1723,7 +1723,7 @@ static inline struct sctp_association *sctp_assoc(struct sctp_ep_common *base)
|
||||
|
||||
struct sctp_association *
|
||||
sctp_association_new(const struct sctp_endpoint *, const struct sock *,
|
||||
sctp_scope_t scope, unsigned int __nocast gfp);
|
||||
sctp_scope_t scope, gfp_t gfp);
|
||||
void sctp_association_free(struct sctp_association *);
|
||||
void sctp_association_put(struct sctp_association *);
|
||||
void sctp_association_hold(struct sctp_association *);
|
||||
@@ -1739,7 +1739,7 @@ int sctp_assoc_lookup_laddr(struct sctp_association *asoc,
|
||||
const union sctp_addr *laddr);
|
||||
struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *,
|
||||
const union sctp_addr *address,
|
||||
const unsigned int __nocast gfp,
|
||||
const gfp_t gfp,
|
||||
const int peer_state);
|
||||
void sctp_assoc_del_peer(struct sctp_association *asoc,
|
||||
const union sctp_addr *addr);
|
||||
@@ -1764,10 +1764,10 @@ void sctp_assoc_rwnd_decrease(struct sctp_association *, unsigned);
|
||||
void sctp_assoc_set_primary(struct sctp_association *,
|
||||
struct sctp_transport *);
|
||||
int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *,
|
||||
unsigned int __nocast);
|
||||
gfp_t);
|
||||
int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *,
|
||||
struct sctp_cookie*,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
|
||||
int sctp_cmp_addr_exact(const union sctp_addr *ss1,
|
||||
const union sctp_addr *ss2);
|
||||
|
||||
@@ -88,7 +88,7 @@ struct sctp_ulpevent *sctp_ulpevent_make_assoc_change(
|
||||
__u16 error,
|
||||
__u16 outbound,
|
||||
__u16 inbound,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
|
||||
struct sctp_ulpevent *sctp_ulpevent_make_peer_addr_change(
|
||||
const struct sctp_association *asoc,
|
||||
@@ -96,35 +96,35 @@ struct sctp_ulpevent *sctp_ulpevent_make_peer_addr_change(
|
||||
int flags,
|
||||
int state,
|
||||
int error,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
|
||||
struct sctp_ulpevent *sctp_ulpevent_make_remote_error(
|
||||
const struct sctp_association *asoc,
|
||||
struct sctp_chunk *chunk,
|
||||
__u16 flags,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
struct sctp_ulpevent *sctp_ulpevent_make_send_failed(
|
||||
const struct sctp_association *asoc,
|
||||
struct sctp_chunk *chunk,
|
||||
__u16 flags,
|
||||
__u32 error,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
|
||||
struct sctp_ulpevent *sctp_ulpevent_make_shutdown_event(
|
||||
const struct sctp_association *asoc,
|
||||
__u16 flags,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
|
||||
struct sctp_ulpevent *sctp_ulpevent_make_pdapi(
|
||||
const struct sctp_association *asoc,
|
||||
__u32 indication, unsigned int __nocast gfp);
|
||||
__u32 indication, gfp_t gfp);
|
||||
|
||||
struct sctp_ulpevent *sctp_ulpevent_make_adaption_indication(
|
||||
const struct sctp_association *asoc, unsigned int __nocast gfp);
|
||||
const struct sctp_association *asoc, gfp_t gfp);
|
||||
|
||||
struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(struct sctp_association *asoc,
|
||||
struct sctp_chunk *chunk,
|
||||
unsigned int __nocast gfp);
|
||||
gfp_t gfp);
|
||||
|
||||
void sctp_ulpevent_read_sndrcvinfo(const struct sctp_ulpevent *event,
|
||||
struct msghdr *);
|
||||
|
||||
@@ -62,22 +62,19 @@ struct sctp_ulpq *sctp_ulpq_init(struct sctp_ulpq *,
|
||||
void sctp_ulpq_free(struct sctp_ulpq *);
|
||||
|
||||
/* Add a new DATA chunk for processing. */
|
||||
int sctp_ulpq_tail_data(struct sctp_ulpq *, struct sctp_chunk *,
|
||||
unsigned int __nocast);
|
||||
int sctp_ulpq_tail_data(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);
|
||||
|
||||
/* Add a new event for propagation to the ULP. */
|
||||
int sctp_ulpq_tail_event(struct sctp_ulpq *, struct sctp_ulpevent *ev);
|
||||
|
||||
/* Renege previously received chunks. */
|
||||
void sctp_ulpq_renege(struct sctp_ulpq *, struct sctp_chunk *,
|
||||
unsigned int __nocast);
|
||||
void sctp_ulpq_renege(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);
|
||||
|
||||
/* Perform partial delivery. */
|
||||
void sctp_ulpq_partial_delivery(struct sctp_ulpq *, struct sctp_chunk *,
|
||||
unsigned int __nocast);
|
||||
void sctp_ulpq_partial_delivery(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);
|
||||
|
||||
/* Abort the partial delivery. */
|
||||
void sctp_ulpq_abort_pd(struct sctp_ulpq *, unsigned int __nocast);
|
||||
void sctp_ulpq_abort_pd(struct sctp_ulpq *, gfp_t);
|
||||
|
||||
/* Clear the partial data delivery condition on this socket. */
|
||||
int sctp_clear_pd(struct sock *sk);
|
||||
|
||||
+23
-14
@@ -103,16 +103,20 @@ enum sctp_optname {
|
||||
#define SCTP_SOCKOPT_BINDX_REM SCTP_SOCKOPT_BINDX_REM
|
||||
SCTP_SOCKOPT_PEELOFF, /* peel off association. */
|
||||
#define SCTP_SOCKOPT_PEELOFF SCTP_SOCKOPT_PEELOFF
|
||||
SCTP_GET_PEER_ADDRS_NUM, /* Get number of peer addresss. */
|
||||
#define SCTP_GET_PEER_ADDRS_NUM SCTP_GET_PEER_ADDRS_NUM
|
||||
SCTP_GET_PEER_ADDRS, /* Get all peer addresss. */
|
||||
#define SCTP_GET_PEER_ADDRS SCTP_GET_PEER_ADDRS
|
||||
SCTP_GET_LOCAL_ADDRS_NUM, /* Get number of local addresss. */
|
||||
#define SCTP_GET_LOCAL_ADDRS_NUM SCTP_GET_LOCAL_ADDRS_NUM
|
||||
SCTP_GET_LOCAL_ADDRS, /* Get all local addresss. */
|
||||
#define SCTP_GET_LOCAL_ADDRS SCTP_GET_LOCAL_ADDRS
|
||||
SCTP_GET_PEER_ADDRS_NUM_OLD, /* Get number of peer addresss. */
|
||||
#define SCTP_GET_PEER_ADDRS_NUM_OLD SCTP_GET_PEER_ADDRS_NUM_OLD
|
||||
SCTP_GET_PEER_ADDRS_OLD, /* Get all peer addresss. */
|
||||
#define SCTP_GET_PEER_ADDRS_OLD SCTP_GET_PEER_ADDRS_OLD
|
||||
SCTP_GET_LOCAL_ADDRS_NUM_OLD, /* Get number of local addresss. */
|
||||
#define SCTP_GET_LOCAL_ADDRS_NUM_OLD SCTP_GET_LOCAL_ADDRS_NUM_OLD
|
||||
SCTP_GET_LOCAL_ADDRS_OLD, /* Get all local addresss. */
|
||||
#define SCTP_GET_LOCAL_ADDRS_OLD SCTP_GET_LOCAL_ADDRS_OLD
|
||||
SCTP_SOCKOPT_CONNECTX, /* CONNECTX requests. */
|
||||
#define SCTP_SOCKOPT_CONNECTX SCTP_SOCKOPT_CONNECTX
|
||||
SCTP_GET_PEER_ADDRS, /* Get all peer addresss. */
|
||||
#define SCTP_GET_PEER_ADDRS SCTP_GET_PEER_ADDRS
|
||||
SCTP_GET_LOCAL_ADDRS, /* Get all local addresss. */
|
||||
#define SCTP_GET_LOCAL_ADDRS SCTP_GET_LOCAL_ADDRS
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -239,7 +243,7 @@ struct sctp_paddr_change {
|
||||
int spc_state;
|
||||
int spc_error;
|
||||
sctp_assoc_t spc_assoc_id;
|
||||
};
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
/*
|
||||
* spc_state: 32 bits (signed integer)
|
||||
@@ -464,7 +468,7 @@ struct sctp_assocparams {
|
||||
struct sctp_setpeerprim {
|
||||
sctp_assoc_t sspp_assoc_id;
|
||||
struct sockaddr_storage sspp_addr;
|
||||
};
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
/*
|
||||
* 7.1.10 Set Primary Address (SCTP_PRIMARY_ADDR)
|
||||
@@ -477,7 +481,7 @@ struct sctp_setpeerprim {
|
||||
struct sctp_prim {
|
||||
sctp_assoc_t ssp_assoc_id;
|
||||
struct sockaddr_storage ssp_addr;
|
||||
};
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
/*
|
||||
* 7.1.11 Set Adaption Layer Indicator (SCTP_ADAPTION_LAYER)
|
||||
@@ -504,7 +508,7 @@ struct sctp_paddrparams {
|
||||
struct sockaddr_storage spp_address;
|
||||
__u32 spp_hbinterval;
|
||||
__u16 spp_pathmaxrxt;
|
||||
};
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
/*
|
||||
* 7.2.2 Peer Address Information
|
||||
@@ -523,7 +527,7 @@ struct sctp_paddrinfo {
|
||||
__u32 spinfo_srtt;
|
||||
__u32 spinfo_rto;
|
||||
__u32 spinfo_mtu;
|
||||
};
|
||||
} __attribute__((packed, aligned(4)));
|
||||
|
||||
/* Peer addresses's state. */
|
||||
enum sctp_spinfo_state {
|
||||
@@ -559,11 +563,16 @@ struct sctp_status {
|
||||
* SCTP_GET_LOCAL_ADDRS socket options used internally to implement
|
||||
* sctp_getpaddrs() and sctp_getladdrs() API.
|
||||
*/
|
||||
struct sctp_getaddrs {
|
||||
struct sctp_getaddrs_old {
|
||||
sctp_assoc_t assoc_id;
|
||||
int addr_num;
|
||||
struct sockaddr __user *addrs;
|
||||
};
|
||||
struct sctp_getaddrs {
|
||||
sctp_assoc_t assoc_id; /*input*/
|
||||
__u32 addr_num; /*output*/
|
||||
__u8 addrs[0]; /*output, variable size*/
|
||||
};
|
||||
|
||||
/* These are bit fields for msghdr->msg_flags. See section 5.1. */
|
||||
/* On user space Linux, these live in <bits/socket.h> as an enum. */
|
||||
|
||||
+8
-8
@@ -739,18 +739,18 @@ extern void FASTCALL(release_sock(struct sock *sk));
|
||||
#define bh_unlock_sock(__sk) spin_unlock(&((__sk)->sk_lock.slock))
|
||||
|
||||
extern struct sock *sk_alloc(int family,
|
||||
unsigned int __nocast priority,
|
||||
gfp_t priority,
|
||||
struct proto *prot, int zero_it);
|
||||
extern void sk_free(struct sock *sk);
|
||||
extern struct sock *sk_clone(const struct sock *sk,
|
||||
const unsigned int __nocast priority);
|
||||
const gfp_t priority);
|
||||
|
||||
extern struct sk_buff *sock_wmalloc(struct sock *sk,
|
||||
unsigned long size, int force,
|
||||
unsigned int __nocast priority);
|
||||
gfp_t priority);
|
||||
extern struct sk_buff *sock_rmalloc(struct sock *sk,
|
||||
unsigned long size, int force,
|
||||
unsigned int __nocast priority);
|
||||
gfp_t priority);
|
||||
extern void sock_wfree(struct sk_buff *skb);
|
||||
extern void sock_rfree(struct sk_buff *skb);
|
||||
|
||||
@@ -766,7 +766,7 @@ extern struct sk_buff *sock_alloc_send_skb(struct sock *sk,
|
||||
int noblock,
|
||||
int *errcode);
|
||||
extern void *sock_kmalloc(struct sock *sk, int size,
|
||||
unsigned int __nocast priority);
|
||||
gfp_t priority);
|
||||
extern void sock_kfree_s(struct sock *sk, void *mem, int size);
|
||||
extern void sk_send_sigurg(struct sock *sk);
|
||||
|
||||
@@ -1201,7 +1201,7 @@ static inline void sk_stream_moderate_sndbuf(struct sock *sk)
|
||||
|
||||
static inline struct sk_buff *sk_stream_alloc_pskb(struct sock *sk,
|
||||
int size, int mem,
|
||||
unsigned int __nocast gfp)
|
||||
gfp_t gfp)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
int hdr_len;
|
||||
@@ -1224,7 +1224,7 @@ static inline struct sk_buff *sk_stream_alloc_pskb(struct sock *sk,
|
||||
|
||||
static inline struct sk_buff *sk_stream_alloc_skb(struct sock *sk,
|
||||
int size,
|
||||
unsigned int __nocast gfp)
|
||||
gfp_t gfp)
|
||||
{
|
||||
return sk_stream_alloc_pskb(sk, size, 0, gfp);
|
||||
}
|
||||
@@ -1255,7 +1255,7 @@ static inline int sock_writeable(const struct sock *sk)
|
||||
return atomic_read(&sk->sk_wmem_alloc) < (sk->sk_sndbuf / 2);
|
||||
}
|
||||
|
||||
static inline unsigned int __nocast gfp_any(void)
|
||||
static inline gfp_t gfp_any(void)
|
||||
{
|
||||
return in_softirq() ? GFP_ATOMIC : GFP_KERNEL;
|
||||
}
|
||||
|
||||
+1
-2
@@ -460,8 +460,7 @@ extern void tcp_send_probe0(struct sock *);
|
||||
extern void tcp_send_partial(struct sock *);
|
||||
extern int tcp_write_wakeup(struct sock *);
|
||||
extern void tcp_send_fin(struct sock *sk);
|
||||
extern void tcp_send_active_reset(struct sock *sk,
|
||||
unsigned int __nocast priority);
|
||||
extern void tcp_send_active_reset(struct sock *sk, gfp_t priority);
|
||||
extern int tcp_send_synack(struct sock *);
|
||||
extern void tcp_push_one(struct sock *, unsigned int mss_now);
|
||||
extern void tcp_send_ack(struct sock *sk);
|
||||
|
||||
+6
-1
@@ -875,7 +875,7 @@ static inline int xfrm_dst_lookup(struct xfrm_dst **dst, struct flowi *fl, unsig
|
||||
}
|
||||
#endif
|
||||
|
||||
struct xfrm_policy *xfrm_policy_alloc(int gfp);
|
||||
struct xfrm_policy *xfrm_policy_alloc(gfp_t gfp);
|
||||
extern int xfrm_policy_walk(int (*func)(struct xfrm_policy *, int, int, void*), void *);
|
||||
int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl);
|
||||
struct xfrm_policy *xfrm_policy_bysel(int dir, struct xfrm_selector *sel,
|
||||
@@ -931,4 +931,9 @@ static inline int xfrm_addr_cmp(xfrm_address_t *a, xfrm_address_t *b,
|
||||
}
|
||||
}
|
||||
|
||||
static inline int xfrm_policy_id2dir(u32 index)
|
||||
{
|
||||
return index & 7;
|
||||
}
|
||||
|
||||
#endif /* _NET_XFRM_H */
|
||||
|
||||
Reference in New Issue
Block a user