14 Feb, 2008
3 commits
-
Move networking (core and drivers) docbook to its own networking book.
Fix a few kernel-doc errors in header and source files.Signed-off-by: Randy Dunlap
Cc: Trond Myklebust
Cc: "J. Bruce Fields"
Cc: Neil Brown
Cc: "David S. Miller"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Use updated file list for docbook files and
fix kernel-doc warnings in sunrpc:
Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:689): No description found for parameter 'rpc_client'
Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:765): No description found for parameter 'flags'
Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:584): No description found for parameter 'tk_ops'
Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:618): No description found for parameter 'bufsize'Signed-off-by: Randy Dunlap
Cc: Trond Myklebust
Cc: "J. Bruce Fields"
Cc: Neil Brown
Cc: "David S. Miller"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
fastcall always expands to empty, remove it.
Signed-off-by: Harvey Harrison
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
12 Feb, 2008
1 commit
-
* 'for-linus' of git://linux-nfs.org/~bfields/linux:
SUNPRC: Fix printk format warning
nfsd: clean up svc_reserve_auth()
NLM: don't requeue block if it was invalidated while GRANT_MSG was in flight
NLM: don't reattempt GRANT_MSG when there is already an RPC in flight
NLM: have server-side RPC clients default to soft RPC tasks
NLM: set RPC_CLNT_CREATE_NOPING for NLM RPC clients
11 Feb, 2008
1 commit
-
net/sunrpc/xprtrdma/svc_rdma_sendto.c:160: warning: format '%llx'
expects type 'long long unsigned int', but argument 3 has type 'u64'Signed-off-by: Roland Dreier
Signed-off-by: J. Bruce Fields
10 Feb, 2008
10 commits
-
Commit 954415e33ed6cfa932c13e8c2460bd05e50723b5 ("[PKT_SCHED] ematch:
tcf_em_destroy robustness") removed a cast on em->data when
passing it to kfree(), but em->data is an integer type that can
hold pointers as well as other values so the cast is necessary.Signed-off-by: David S. Miller
-
htb_requeue() enqueues skbs for which htb_classify() returns NULL.
This is wrong because such skbs could be handled by NET_CLS_ACT code,
and the decision could be different than earlier in htb_enqueue().
So htb_requeue() is changed to work and look more like htb_enqueue().Signed-off-by: Jarek Poplawski
Signed-off-by: David S. Miller -
This patch replaces the explicit usage of the magic constant "1024"
with IP6_RT_PRIO_USER in the IPV6 tree.Signed-off-by: Rami Rosen
Signed-off-by: David S. Miller -
Make the code in tcf_em_tree_destroy more robust and cleaner:
* Don't need to cast pointer to kfree() or avoid passing NULL.
* After freeing the tree, clear the pointer to avoid possible problems
from repeated free.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
A couple of functions in meta match don't need to be inline.
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
This makes the code use a good proc API and the text ~50 bytes shorter.
Signed-off-by: Pavel Emelyanov
Acked-by: Vlad Yasevich
Signed-off-by: David S. Miller -
SCPT already depends in INET, so this doesn't create additional
dependencies.Signed-off-by: Pavel Emelyanov
Acked-by: Vlad Yasevich
Signed-off-by: David S. Miller -
Merge error paths inside igmp_rcv.
Signed-off-by: Denis V. Lunev
Signed-off-by: David S. Miller -
The seq files API disposes the caller of the difficulty of
checking file position, the length of data to produce and
the size of provided buffer.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller -
Mainly this removes ifdef-s from inside the ipsec_pfkey_init.
Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller
09 Feb, 2008
4 commits
-
Setting up a meta match causes a kernel OOPS because of uninitialized
elements in tree.[ 37.322381] BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
[ 37.322381] IP: [] :em_meta:em_meta_destroy+0x17/0x80[ 37.322381] Call Trace:
[ 37.322381] [] tcf_em_tree_destroy+0x2d/0xa0
[ 37.322381] [] tcf_em_tree_validate+0x2dc/0x4a0
[ 37.322381] [] nla_parse+0x92/0xe0
[ 37.322381] [] :cls_basic:basic_change+0x202/0x3c0
[ 37.322381] [] kmem_cache_alloc+0x67/0xa0
[ 37.322381] [] tc_ctl_tfilter+0x3b1/0x580
[ 37.322381] [] rtnetlink_rcv_msg+0x0/0x260
[ 37.322381] [] netlink_rcv_skb+0x74/0xa0
[ 37.322381] [] rtnetlink_rcv+0x18/0x20
[ 37.322381] [] netlink_unicast+0x263/0x290
[ 37.322381] [] __alloc_skb+0x96/0x160
[ 37.322381] [] netlink_sendmsg+0x274/0x340
[ 37.322381] [] sock_sendmsg+0x12b/0x140
[ 37.322381] [] autoremove_wake_function+0x0/0x30
[ 37.322381] [] autoremove_wake_function+0x0/0x30
[ 37.322381] [] sock_sendmsg+0x12b/0x140
[ 37.322381] [] zone_statistics+0xb1/0xc0
[ 37.322381] [] sys_sendmsg+0x20e/0x360
[ 37.322381] [] sockfd_lookup_light+0x41/0x80
[ 37.322381] [] handle_mm_fault+0x3eb/0x7f0
[ 37.322381] [] system_call_after_swapgs+0x7b/0x80Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
[IPSEC] flow: reorder "struct flow_cache_entry" and remove SLAB_HWCACHE_ALIGN
[DECNET] ROUTE: remove unecessary alignment
[IPSEC]: Add support for aes-ctr.
[ISDN]: fix section mismatch warning in enpci_card_msg
[TIPC]: declare proto_ops structures as 'const'.
[TIPC]: Kill unused static inline (x5)
[TC]: oops in em_meta
[IPV6] Minor cleanup: remove unused definitions in net/ip6_fib.h
[IPV6] Minor clenup: remove two unused definitions in net/ip6_route.h
[AF_IUCV]: defensive programming of iucv_callback_txdone
[AF_IUCV]: broken send_skb_q results in endless loop
[IUCV]: wrong irq-disabling locking at module load time
[CAN]: Minor clean-ups
[CAN]: Move proto_{,un}register() out of spin-locked region
[CAN]: Clean up module auto loading
[IPSEC] flow: Remove an unnecessary ____cacheline_aligned
[IPV4]: route: fix crash ip_route_input
[NETFILTER]: xt_iprange: add missing #include
[NETFILTER]: xt_iprange: fix typo in address family
[NETFILTER]: nf_conntrack: fix ct_extend ->move operation
... -
There's already an option controlling the net namespaces cloning code, so make
it work the same way as all the other namespaces' options.Signed-off-by: Pavel Emelyanov
Cc: "David S. Miller"
Acked-by: Serge Hallyn
Cc: Cedric Le Goater
Cc: "Eric W. Biederman"
Cc: Herbert Poetzl
Cc: Kirill Korotaev
Cc: Sukadev Bhattiprolu
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
08 Feb, 2008
19 commits
-
1) We can shrink sizeof(struct flow_cache_entry) by 8 bytes on 64bit arches.
2) No need to align these structures to hardware cache lines, this only waste
ram for very litle gain.Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
Same alignment requirement was removed on IP route cache in the past.
This alignment actually has bad effect on 32 bit arches, uniprocessor,
since sizeof(dn_rt_hash_bucket) is forced to 8 bytes instead of 4.Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
The below patch allows IPsec to use CTR mode with AES encryption
algorithm. Tested this using setkey in ipsec-tools.Signed-off-by: Joy Latten
Acked-by: Herbert Xu
Signed-off-by: David S. Miller -
Signed-off-by: Florian Westphal
Signed-off-by: David S. Miller -
All these static inlines are unused:
in_own_zone 1 (net/tipc/addr.h)
msg_dataoctet 1 (net/tipc/msg.h)
msg_direct 1 (include/net/tipc/tipc_msg.h)
msg_options 1 (include/net/tipc/tipc_msg.h)
tipc_nmap_get 1 (net/tipc/bcast.h)Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
If userspace passes a unknown match index into em_meta, then
em_meta_change will return an error and the data for the match will
not be set. This then causes an null pointer dereference when the
cleanup is done in the error path via tcf_em_tree_destroy. Since the
tree structure comes kzalloc, it is initialized to NULL.Discovered when testing a new version of tc command against an
accidental older kernel.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
The loop in iucv_callback_txdone presumes existence of an entry
with msg->tag in the send_skb_q list. In error cases this
assumption might be wrong and might cause an endless loop.
Loop is rewritten to guarantee loop end in case of missing
msg->tag entry in send_skb_q.Signed-off-by: Ursula Braun
Signed-off-by: David S. Miller -
A race has been detected in iucv_callback_txdone().
skb_unlink has to be done inside the locked area.In addition checkings for successful allocations are inserted.
Signed-off-by: Ursula Braun
Signed-off-by: David S. Miller -
Linux may hang when running af_iucv socket programs concurrently
with a load of module netiucv. iucv_register() tries to take the
iucv_table_lock with spin_lock_irq. This conflicts with
iucv_connect() which has a need for an smp_call_function while
holding the iucv_table_lock.
Solution: use bh-disabling locking in iucv_register()Signed-off-by: Ursula Braun
Signed-off-by: David S. Miller -
Remove unneeded variable.
Rename local variable error to err like in all other places.
Some white-space changes.Signed-off-by: Urs Thuermann
Signed-off-by: Oliver Hartkopp
Signed-off-by: David S. Miller -
The implementation of proto_register() has changed so that it can now
sleep. The call to proto_register() must be moved out of the
spin-locked region.Signed-off-by: Urs Thuermann
Signed-off-by: Oliver Hartkopp
Signed-off-by: David S. Miller -
Remove local char array to construct module name.
Don't call request_module() when CONFIG_KMOD is not set.Signed-off-by: Urs Thuermann
Signed-off-by: Oliver Hartkopp
Signed-off-by: David S. Miller -
We use a percpu variable named flow_hash_info, which holds 12 bytes.
It is currently marked as ____cacheline_aligned, which makes linker
skip space to properly align this variable.Before :
c065cc90 D per_cpu__softnet_data
c065cd00 d per_cpu__flow_tablesc065cd80 d per_cpu__flow_hash_info
c065ce00 d per_cpu__flow_flush_tasklets
c065ce14 d per_cpu__rt_cache_statThis alignement is quite unproductive, and removing it reduces the
size of percpu data (by 240 bytes on my x86 machine), and improves
performance (flow_tables & flow_hash_info can share a single cache
line)After patch :
c065cc04 D per_cpu__softnet_data
c065cc4c d per_cpu__flow_tables
c065cc50 d per_cpu__flow_hash_info
c065cc5c d per_cpu__flow_flush_tasklets
c065cc70 d per_cpu__rt_cache_statSigned-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
ip_route_me_harder() may call ip_route_input() with skbs that don't
have skb->dev set for skbs rerouted in LOCAL_OUT and TCP resets
generated by the REJECT target, resulting in a crash when dereferencing
skb->dev->nd_net. Since ip_route_input() has an input device argument,
it seems correct to use that one anyway.Bug introduced in b5921910a1 (Routing cache virtualization).
Signed-off-by: Patrick McHardy
Signed-off-by: David S. Miller -
Signed-off-by: Jan Engelhardt
Signed-off-by: Patrick McHardy
Signed-off-by: David S. Miller -
The family for iprange_mt4 should be AF_INET, not AF_INET6.
Noticed by Jiri Moravec .Signed-off-by: Patrick McHardy
Signed-off-by: David S. Miller -
The ->move operation has two bugs:
- It is called with the same extension as source and destination,
so it doesn't update the new extension.- The address of the old extension is calculated incorrectly,
instead of (void *)ct->ext + ct->ext->offset[i] it uses
ct->ext + ct->ext->offset[i].Fixes a crash on x86_64 reported by Chuck Ebbert
and Thomas Woerner .Tested-by: Thomas Woerner
Signed-off-by: Patrick McHardy
Signed-off-by: David S. Miller -
TCP connection tracking in netfilter did not handle TCP reopening
properly: active close was taken into account for one side only and
not for any side, which is fixed now. The patch includes more comments
to explain the logic how the different cases are handled.
The bug was discovered by Jeff Chua.Signed-off-by: Jozsef Kadlecsik
Signed-off-by: Patrick McHardy
Signed-off-by: David S. Miller -
Convert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:
perl -spi -e 's/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\1)/' `grep -rl 'ERR_PTR[(]*PTR_ERR' fs crypto net security`
Signed-off-by: David Howells
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
07 Feb, 2008
2 commits
-
In a few instances, we need to remove the chunk from the transmitted list
prior to freeing it. This is because the free code doesn't do that any
more and so we need to do it manually.Signed-off-by: Vlad Yasevich
-
While recevied ASCONF chunk with serial number less then needed, kernel
will treat this chunk as a retransmitted ASCONF chunk and find cached
ASCONF-ACK chunk used sctp_assoc_lookup_asconf_ack(). But this function
will always return NO-NULL. So response with cached ASCONF-ACKs chunk
will cause kernel panic.
In function sctp_assoc_lookup_asconf_ack(), if the cached ASCONF-ACKs
list asconf_ack_list is empty, or if the serial being requested does not
exists, the function as it currectly stands returns the actuall
list_head asoc->asconf_ack_list, this is not a cache ASCONF-ACK chunk
but a bogus pointer.Signed-off-by: Wei Yongjun
Signed-off-by: Vlad Yasevich