Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits) netxen: update copyright netxen: fix tx timeout recovery netxen: fix file firmware leak netxen: improve pci memory access netxen: change firmware write size tg3: Fix return ring size breakage netxen: build fix for INET=n cdc-phonet: autoconfigure Phonet address Phonet: back-end for autoconfigured addresses Phonet: fix netlink address dump error handling ipv6: Add IFA_F_DADFAILED flag net: Add DEVTYPE support for Ethernet based devices mv643xx_eth.c: remove unused txq_set_wrr() ucc_geth: Fix hangs after switching from full to half duplex ucc_geth: Rearrange some code to avoid forward declarations phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs drivers/net/phy: introduce missing kfree drivers/net/wan: introduce missing kfree net: force bridge module(s) to be GPL Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded ... Fixed up trivial conflicts: - arch/x86/include/asm/socket.h converted to <asm-generic/socket.h> in the x86 tree. The generic header has the same new #define's, so that works out fine. - drivers/net/tun.c fix conflict between89f56d1e9
("tun: reuse struct sock fields") that switched over to using 'tun->socket.sk' instead of the redundantly available (and thus removed) 'tun->sk', and2b980dbd
("lsm: Add hooks to the TUN driver") which added a new 'tun->sk' use. Noted in 'next' by Stephen Rothwell.
This commit is contained in:
@@ -485,6 +485,7 @@ void hrtimer_init_on_stack(struct hrtimer *timer, clockid_t clock_id,
|
||||
debug_object_init_on_stack(timer, &hrtimer_debug_descr);
|
||||
__hrtimer_init(timer, clock_id, mode);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(hrtimer_init_on_stack);
|
||||
|
||||
void destroy_hrtimer_on_stack(struct hrtimer *timer)
|
||||
{
|
||||
@@ -1477,6 +1478,7 @@ void hrtimer_init_sleeper(struct hrtimer_sleeper *sl, struct task_struct *task)
|
||||
sl->timer.function = hrtimer_wakeup;
|
||||
sl->task = task;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(hrtimer_init_sleeper);
|
||||
|
||||
static int __sched do_nanosleep(struct hrtimer_sleeper *t, enum hrtimer_mode mode)
|
||||
{
|
||||
|
@@ -108,7 +108,7 @@ static int prepare_reply(struct genl_info *info, u8 cmd, struct sk_buff **skbp,
|
||||
/*
|
||||
* Send taskstats data in @skb to listener with nl_pid @pid
|
||||
*/
|
||||
static int send_reply(struct sk_buff *skb, pid_t pid)
|
||||
static int send_reply(struct sk_buff *skb, struct genl_info *info)
|
||||
{
|
||||
struct genlmsghdr *genlhdr = nlmsg_data(nlmsg_hdr(skb));
|
||||
void *reply = genlmsg_data(genlhdr);
|
||||
@@ -120,7 +120,7 @@ static int send_reply(struct sk_buff *skb, pid_t pid)
|
||||
return rc;
|
||||
}
|
||||
|
||||
return genlmsg_unicast(skb, pid);
|
||||
return genlmsg_reply(skb, info);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -150,7 +150,7 @@ static void send_cpu_listeners(struct sk_buff *skb,
|
||||
if (!skb_next)
|
||||
break;
|
||||
}
|
||||
rc = genlmsg_unicast(skb_cur, s->pid);
|
||||
rc = genlmsg_unicast(&init_net, skb_cur, s->pid);
|
||||
if (rc == -ECONNREFUSED) {
|
||||
s->valid = 0;
|
||||
delcount++;
|
||||
@@ -418,7 +418,7 @@ static int cgroupstats_user_cmd(struct sk_buff *skb, struct genl_info *info)
|
||||
goto err;
|
||||
}
|
||||
|
||||
rc = send_reply(rep_skb, info->snd_pid);
|
||||
rc = send_reply(rep_skb, info);
|
||||
|
||||
err:
|
||||
fput_light(file, fput_needed);
|
||||
@@ -487,7 +487,7 @@ free_return_rc:
|
||||
} else
|
||||
goto err;
|
||||
|
||||
return send_reply(rep_skb, info->snd_pid);
|
||||
return send_reply(rep_skb, info);
|
||||
err:
|
||||
nlmsg_free(rep_skb);
|
||||
return rc;
|
||||
|
Reference in New Issue
Block a user