diff options
author | Michael Büsch <m@bues.ch> | 2015-02-08 12:14:07 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-02-09 00:00:43 +0300 |
commit | 662f5533c40a97f02949ac81b1643538353c7e59 (patch) | |
tree | a5ce27e64f3bf2239add0b4a526aab7f85014e1c /net/ipv6 | |
parent | f06535c599354816cfbc653ce8965804c7385c61 (diff) | |
download | linux-662f5533c40a97f02949ac81b1643538353c7e59.tar.xz |
rt6_probe_deferred: Do not depend on struct ordering
rt6_probe allocates a struct __rt6_probe_work and schedules a work handler rt6_probe_deferred.
But rt6_probe_deferred kfree's the struct work_struct instead of struct __rt6_probe_work.
This works, because struct work_struct is the first element of struct __rt6_probe_work.
Change it to kfree struct __rt6_probe_work to not implicitly depend on
struct work_struct being the first element.
This does not affect the generated code.
Signed-off-by: Michael Buesch <m@bues.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/route.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 7622951e5fbb..98565ce0ebcd 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -499,7 +499,7 @@ static void rt6_probe_deferred(struct work_struct *w) addrconf_addr_solict_mult(&work->target, &mcaddr); ndisc_send_ns(work->dev, NULL, &work->target, &mcaddr, NULL); dev_put(work->dev); - kfree(w); + kfree(work); } static void rt6_probe(struct rt6_info *rt) |