diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 12:26:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 12:26:46 -0400 |
commit | 15c54033964a943de7b0763efd3bd0ede7326395 (patch) | |
tree | 840b292612d1b5396d5bab5bde537a9013db3ceb /net/netrom/nr_out.c | |
parent | ad5da3cf39a5b11a198929be1f2644e17ecd767e (diff) | |
parent | 912a41a4ab935ce8c4308428ec13fc7f8b1f18f4 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits)
[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
[IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.
[IPV4]: Add multipath cached to feature-removal-schedule.txt
[WIRELESS] cfg80211: Clarify locking comment.
[WIRELESS] cfg80211: Fix locking in wiphy_new.
[WEXT] net_device: Don't include wext bits if not required.
[WEXT]: Misc code cleanups.
[WEXT]: Reduce inline abuse.
[WEXT]: Move EXPORT_SYMBOL statements where they belong.
[WEXT]: Cleanup early ioctl call path.
[WEXT]: Remove options.
[WEXT]: Remove dead debug code.
[WEXT]: Clean up how wext is called.
[WEXT]: Move to net/wireless
[AFS]: Eliminate cmpxchg() usage in vlocation code.
[RXRPC]: Fix pointers passed to bitops.
[RXRPC]: Remove bogus atomic_* overrides.
[AFS]: Fix u64 printing in debug logging.
[AFS]: Add "directory write" support.
[AFS]: Implement the CB.InitCallBackState3 operation.
...
Diffstat (limited to 'net/netrom/nr_out.c')
-rw-r--r-- | net/netrom/nr_out.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/netrom/nr_out.c b/net/netrom/nr_out.c index 0cbfb611465b..e3e6c44e1890 100644 --- a/net/netrom/nr_out.c +++ b/net/netrom/nr_out.c | |||
@@ -40,7 +40,7 @@ void nr_output(struct sock *sk, struct sk_buff *skb) | |||
40 | 40 | ||
41 | if (skb->len - NR_TRANSPORT_LEN > NR_MAX_PACKET_SIZE) { | 41 | if (skb->len - NR_TRANSPORT_LEN > NR_MAX_PACKET_SIZE) { |
42 | /* Save a copy of the Transport Header */ | 42 | /* Save a copy of the Transport Header */ |
43 | memcpy(transport, skb->data, NR_TRANSPORT_LEN); | 43 | skb_copy_from_linear_data(skb, transport, NR_TRANSPORT_LEN); |
44 | skb_pull(skb, NR_TRANSPORT_LEN); | 44 | skb_pull(skb, NR_TRANSPORT_LEN); |
45 | 45 | ||
46 | frontlen = skb_headroom(skb); | 46 | frontlen = skb_headroom(skb); |
@@ -54,13 +54,13 @@ void nr_output(struct sock *sk, struct sk_buff *skb) | |||
54 | len = (NR_MAX_PACKET_SIZE > skb->len) ? skb->len : NR_MAX_PACKET_SIZE; | 54 | len = (NR_MAX_PACKET_SIZE > skb->len) ? skb->len : NR_MAX_PACKET_SIZE; |
55 | 55 | ||
56 | /* Copy the user data */ | 56 | /* Copy the user data */ |
57 | memcpy(skb_put(skbn, len), skb->data, len); | 57 | skb_copy_from_linear_data(skb, skb_put(skbn, len), len); |
58 | skb_pull(skb, len); | 58 | skb_pull(skb, len); |
59 | 59 | ||
60 | /* Duplicate the Transport Header */ | 60 | /* Duplicate the Transport Header */ |
61 | skb_push(skbn, NR_TRANSPORT_LEN); | 61 | skb_push(skbn, NR_TRANSPORT_LEN); |
62 | memcpy(skbn->data, transport, NR_TRANSPORT_LEN); | 62 | skb_copy_to_linear_data(skbn, transport, |
63 | 63 | NR_TRANSPORT_LEN); | |
64 | if (skb->len > 0) | 64 | if (skb->len > 0) |
65 | skbn->data[4] |= NR_MORE_FLAG; | 65 | skbn->data[4] |= NR_MORE_FLAG; |
66 | 66 | ||