Merge branch 'linux-2.6'
This commit is contained in:
@@ -22,7 +22,18 @@ struct isa_driver {
|
||||
|
||||
#define to_isa_driver(x) container_of((x), struct isa_driver, driver)
|
||||
|
||||
#ifdef CONFIG_ISA
|
||||
int isa_register_driver(struct isa_driver *, unsigned int);
|
||||
void isa_unregister_driver(struct isa_driver *);
|
||||
#else
|
||||
static inline int isa_register_driver(struct isa_driver *d, unsigned int i)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void isa_unregister_driver(struct isa_driver *d)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __LINUX_ISA_H */
|
||||
|
||||
@@ -159,7 +159,7 @@ extern void mpol_fix_fork_child_flag(struct task_struct *p);
|
||||
|
||||
extern struct mempolicy default_policy;
|
||||
extern struct zonelist *huge_zonelist(struct vm_area_struct *vma,
|
||||
unsigned long addr, gfp_t gfp_flags);
|
||||
unsigned long addr, gfp_t gfp_flags, struct mempolicy **mpol);
|
||||
extern unsigned slab_node(struct mempolicy *policy);
|
||||
|
||||
extern enum zone_type policy_zone;
|
||||
@@ -256,7 +256,7 @@ static inline void mpol_fix_fork_child_flag(struct task_struct *p)
|
||||
#define set_cpuset_being_rebound(x) do {} while (0)
|
||||
|
||||
static inline struct zonelist *huge_zonelist(struct vm_area_struct *vma,
|
||||
unsigned long addr, gfp_t gfp_flags)
|
||||
unsigned long addr, gfp_t gfp_flags, struct mempolicy **mpol)
|
||||
{
|
||||
return NODE_DATA(0)->node_zonelists + gfp_zone(gfp_flags);
|
||||
}
|
||||
|
||||
@@ -593,7 +593,7 @@ struct user_struct {
|
||||
#endif
|
||||
|
||||
/* Hash table maintenance information */
|
||||
struct list_head uidhash_list;
|
||||
struct hlist_node uidhash_node;
|
||||
uid_t uid;
|
||||
};
|
||||
|
||||
@@ -1472,6 +1472,7 @@ static inline struct user_struct *get_uid(struct user_struct *u)
|
||||
}
|
||||
extern void free_uid(struct user_struct *);
|
||||
extern void switch_uid(struct user_struct *);
|
||||
extern void release_uids(struct user_namespace *ns);
|
||||
|
||||
#include <asm/current.h>
|
||||
|
||||
|
||||
@@ -1352,6 +1352,22 @@ static inline int skb_clone_writable(struct sk_buff *skb, int len)
|
||||
skb_headroom(skb) + len <= skb->hdr_len;
|
||||
}
|
||||
|
||||
static inline int __skb_cow(struct sk_buff *skb, unsigned int headroom,
|
||||
int cloned)
|
||||
{
|
||||
int delta = 0;
|
||||
|
||||
if (headroom < NET_SKB_PAD)
|
||||
headroom = NET_SKB_PAD;
|
||||
if (headroom > skb_headroom(skb))
|
||||
delta = headroom - skb_headroom(skb);
|
||||
|
||||
if (delta || cloned)
|
||||
return pskb_expand_head(skb, ALIGN(delta, NET_SKB_PAD), 0,
|
||||
GFP_ATOMIC);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* skb_cow - copy header of skb when it is required
|
||||
* @skb: buffer to cow
|
||||
@@ -1366,16 +1382,22 @@ static inline int skb_clone_writable(struct sk_buff *skb, int len)
|
||||
*/
|
||||
static inline int skb_cow(struct sk_buff *skb, unsigned int headroom)
|
||||
{
|
||||
int delta = (headroom > NET_SKB_PAD ? headroom : NET_SKB_PAD) -
|
||||
skb_headroom(skb);
|
||||
return __skb_cow(skb, headroom, skb_cloned(skb));
|
||||
}
|
||||
|
||||
if (delta < 0)
|
||||
delta = 0;
|
||||
|
||||
if (delta || skb_cloned(skb))
|
||||
return pskb_expand_head(skb, (delta + (NET_SKB_PAD-1)) &
|
||||
~(NET_SKB_PAD-1), 0, GFP_ATOMIC);
|
||||
return 0;
|
||||
/**
|
||||
* skb_cow_head - skb_cow but only making the head writable
|
||||
* @skb: buffer to cow
|
||||
* @headroom: needed headroom
|
||||
*
|
||||
* This function is identical to skb_cow except that we replace the
|
||||
* skb_cloned check by skb_header_cloned. It should be used when
|
||||
* you only need to push on some header and do not need to modify
|
||||
* the data.
|
||||
*/
|
||||
static inline int skb_cow_head(struct sk_buff *skb, unsigned int headroom)
|
||||
{
|
||||
return __skb_cow(skb, headroom, skb_header_cloned(skb));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
struct user_namespace {
|
||||
struct kref kref;
|
||||
struct list_head uidhash_table[UIDHASH_SZ];
|
||||
struct hlist_head uidhash_table[UIDHASH_SZ];
|
||||
struct user_struct *root_user;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user