mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-26 06:33:19 -04:00
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [IRDA] IRNET: Fix build when TCGETS2 is defined. [NET]: docbook fixes for netif_ functions [NET]: Hide the net_ns kmem cache [NET]: Mark the setup_net as __net_init [NET]: Hide the dead code in the net_namespace.c [NET]: Relax the reference counting of init_net_ns [NETNS]: Make the init/exit hooks checks outside the loop [NET]: Forget the zero_it argument of sk_alloc() [NET]: Remove bogus zero_it argument from sk_alloc [NET]: Make the sk_clone() lighter [NET]: Move some core sock setup into sk_prot_alloc [NET]: Auto-zero the allocated sock object [NET]: Cleanup the allocation/freeing of the sock object [NET]: Move the get_net() from sock_copy() [NET]: Move the sock_copy() from the header [TCP]: Another TAGBITS -> SACKED_ACKED|LOST conversion [TCP]: Process DSACKs that reside within a SACK block
This commit is contained in:
commit
54866f0323
39 changed files with 280 additions and 176 deletions
|
|
@ -739,6 +739,16 @@ static inline void *netdev_priv(const struct net_device *dev)
|
|||
*/
|
||||
#define SET_NETDEV_DEV(net, pdev) ((net)->dev.parent = (pdev))
|
||||
|
||||
/**
|
||||
* netif_napi_add - initialize a napi context
|
||||
* @dev: network device
|
||||
* @napi: napi context
|
||||
* @poll: polling function
|
||||
* @weight: default weight
|
||||
*
|
||||
* netif_napi_add() must be used to initialize a napi context prior to calling
|
||||
* *any* of the other napi related functions.
|
||||
*/
|
||||
static inline void netif_napi_add(struct net_device *dev,
|
||||
struct napi_struct *napi,
|
||||
int (*poll)(struct napi_struct *, int),
|
||||
|
|
|
|||
|
|
@ -51,13 +51,12 @@ static inline struct net *copy_net_ns(unsigned long flags, struct net *net_ns)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NET_NS
|
||||
extern void __put_net(struct net *net);
|
||||
|
||||
static inline struct net *get_net(struct net *net)
|
||||
{
|
||||
#ifdef CONFIG_NET
|
||||
atomic_inc(&net->count);
|
||||
#endif
|
||||
return net;
|
||||
}
|
||||
|
||||
|
|
@ -75,26 +74,44 @@ static inline struct net *maybe_get_net(struct net *net)
|
|||
|
||||
static inline void put_net(struct net *net)
|
||||
{
|
||||
#ifdef CONFIG_NET
|
||||
if (atomic_dec_and_test(&net->count))
|
||||
__put_net(net);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline struct net *hold_net(struct net *net)
|
||||
{
|
||||
#ifdef CONFIG_NET
|
||||
atomic_inc(&net->use_count);
|
||||
#endif
|
||||
return net;
|
||||
}
|
||||
|
||||
static inline void release_net(struct net *net)
|
||||
{
|
||||
#ifdef CONFIG_NET
|
||||
atomic_dec(&net->use_count);
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
static inline struct net *get_net(struct net *net)
|
||||
{
|
||||
return net;
|
||||
}
|
||||
|
||||
static inline void put_net(struct net *net)
|
||||
{
|
||||
}
|
||||
|
||||
static inline struct net *hold_net(struct net *net)
|
||||
{
|
||||
return net;
|
||||
}
|
||||
|
||||
static inline void release_net(struct net *net)
|
||||
{
|
||||
}
|
||||
|
||||
static inline struct net *maybe_get_net(struct net *net)
|
||||
{
|
||||
return net;
|
||||
}
|
||||
#endif
|
||||
|
||||
#define for_each_net(VAR) \
|
||||
list_for_each_entry(VAR, &net_namespace_list, list)
|
||||
|
|
|
|||
|
|
@ -779,7 +779,7 @@ extern void FASTCALL(release_sock(struct sock *sk));
|
|||
|
||||
extern struct sock *sk_alloc(struct net *net, int family,
|
||||
gfp_t priority,
|
||||
struct proto *prot, int zero_it);
|
||||
struct proto *prot);
|
||||
extern void sk_free(struct sock *sk);
|
||||
extern struct sock *sk_clone(const struct sock *sk,
|
||||
const gfp_t priority);
|
||||
|
|
@ -993,20 +993,6 @@ static inline void sock_graft(struct sock *sk, struct socket *parent)
|
|||
write_unlock_bh(&sk->sk_callback_lock);
|
||||
}
|
||||
|
||||
static inline void sock_copy(struct sock *nsk, const struct sock *osk)
|
||||
{
|
||||
#ifdef CONFIG_SECURITY_NETWORK
|
||||
void *sptr = nsk->sk_security;
|
||||
#endif
|
||||
|
||||
memcpy(nsk, osk, osk->sk_prot->obj_size);
|
||||
get_net(nsk->sk_net);
|
||||
#ifdef CONFIG_SECURITY_NETWORK
|
||||
nsk->sk_security = sptr;
|
||||
security_sk_clone(osk, nsk);
|
||||
#endif
|
||||
}
|
||||
|
||||
extern int sock_i_uid(struct sock *sk);
|
||||
extern unsigned long sock_i_ino(struct sock *sk);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue