30 Jun, 2009
5 commits
-
Clean up to use xfrm_addr_cmp() instead of compare addresses directly.
Signed-off-by: Wei Yongjun
Acked-by: Herbert Xu
Signed-off-by: David S. Miller -
If a socket starts out on a non-TSO route, and then switches to
a TSO route, then we will tack on data to the tail of the tx queue
even if it started out life as non-TSO. This is suboptimal because
all of it will then be copied and checksummed unnecessarily.This patch fixes this by ensuring that skb->ip_summed is set to
CHECKSUM_PARTIAL before appending extra data beyond the MSS.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
If a socket starts out on a non-TSO route, and then switches to
a TSO route, then the tail on the tx queue can morph into a TSO
packet, causing mischief because the rest of the stack does not
expect a partially linear TSO packet.This patch fixes this by ensuring that skb->ip_summed is set to
CHECKSUM_PARTIAL before declaring a packet as TSO.Reported-by: Johannes Berg
Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller
29 Jun, 2009
7 commits
-
Signed-off-by: Dmitry Eremin-Solenikov
-
ieee802154_nl_get_dev() lacks check for the existance of the device
that was returned by dev_get_XXX, thus resulting in Oops for non-existing
devices. Fix it.Signed-off-by: Dmitry Eremin-Solenikov
-
Note that our mailing list is moderated for non-subscribers.
Signed-off-by: Dmitry Eremin-Solenikov
-
As reported by Philip, the UNTRACKED state bit does not fit within
the 8-bit state_mask member. Enlarge state_mask and give status_mask
a few more bits too.Reported-by: Philip Craig
References: http://markmail.org/thread/b7eg6aovfh4agyz7
Signed-off-by: Jan Engelhardt
Signed-off-by: Patrick McHardy -
fix the following 'make headers_check' warnings:
usr/include/linux/netfilter/xt_osf.h:40: found __[us]{8,16,32,64} type without #include
Signed-off-by: Jaswinder Singh Rajput
Signed-off-by: Patrick McHardy -
When NAT helpers change the TCP packet size, the highest seen sequence
number needs to be corrected. This is currently only done upwards, when
the packet size is reduced the sequence number is unchanged. This causes
TCP conntrack to falsely detect unacknowledged data and decrease the
timeout.Fix by updating the highest seen sequence number in both directions after
packet mangling.Tested-by: Krzysztof Piotr Oledzki
Signed-off-by: Patrick McHardy -
While testing the driver on PPC, we ran into a crash with LRO, Jumbo frames.
With CONFIG_PPC_64K_PAGES configured (a default in PPC), MAX_SKB_FRAGS drops to 3 and we were crossing the array limits on skb_shinfo(skb)->frags[].
Now we coalesce the frags from the same physical page into one slot in
skb_shinfo(skb)->frags[] and go to the next index when the frag is fromdifferent physical page.
This patch is against the net-2.6 tree.
Signed-off-by: Ajit Khaparde
Signed-off-by: David S. Miller
27 Jun, 2009
8 commits
-
When NAPI is disabled while we're in net_rx_action, we end up
calling __napi_complete without flushing GRO packets. This is
a bug as it would cause the GRO packets to linger, of course it
also literally BUGs to catch error like this :)This patch changes it to napi_complete, with the obligatory IRQ
reenabling. This should be safe because we've only just disabled
IRQs and it does not materially affect the test conditions in
between.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
As transparent proxying looks up the socket early and assigns
it to the skb for later processing, we must drop any existing
socket ownership prior to that in order to distinguish between
the case where tproxy is active and where it is not.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
The mac80211 module uses rcu_call() thus it should use rcu_barrier()
on module unload.The rcu_barrier() is placed in mech.c ieee80211_stop_mesh() which is
invoked from ieee80211_stop() in case vif.type == NL80211_IFTYPE_MESH_POINT.Acked-by: Paul E. McKenney
Acked-by: Johannes Berg
Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: David S. Miller -
The sunrpc module uses rcu_call() thus it should use rcu_barrier() on
module unload.Have not verified that the possibility for new call_rcu() callbacks
has been disabled. As a hint for checking, the functions calling
call_rcu() (unx_destroy_cred and generic_destroy_cred) are
registered as crdestroy function pointer in struct rpc_credops.Acked-by: Paul E. McKenney
Acked-by: Trond Myklebust
Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: David S. Miller -
When unloading modules that uses call_rcu() callbacks, then we must
use rcu_barrier(). This module uses syncronize_net() which is not
enough to be sure that all callback has been completed.Acked-by: Paul E. McKenney
Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: David S. Miller -
The ipv6 module uses rcu_call() thus it should use rcu_barrier() on
module unload.Acked-by: Paul E. McKenney
Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: David S. Miller -
The decnet module unloading as been disabled with a '#if 0' statement,
because it have had issues.We add a rcu_barrier() anyhow for correctness.
The maintainer (Chrissie Caulfield) will look into the unload issue
when time permits.Acked-by: Paul E. McKenney
Acked-by: Chrissie Caulfield
Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: David S. Miller -
sky2 driver on PowerPC targets floods kernel log with following errors:
eth1: hw csum failure.
Call Trace:
[ef84b8a0] [c00075e4] show_stack+0x50/0x160 (unreliable)
[ef84b8d0] [c02fa178] netdev_rx_csum_fault+0x3c/0x5c
[ef84b8f0] [c02f6920] __skb_checksum_complete_head+0x7c/0x84
[ef84b900] [c02f693c] __skb_checksum_complete+0x14/0x24
[ef84b910] [c0337e08] tcp_v4_rcv+0x4c8/0x6f8
[ef84b940] [c031a9c8] ip_local_deliver+0x98/0x210
[ef84b960] [c031a788] ip_rcv+0x38c/0x534
[ef84b990] [c0300338] netif_receive_skb+0x260/0x36c
[ef84b9c0] [c025de00] sky2_poll+0x5dc/0xcf8
[ef84ba20] [c02fb7fc] net_rx_action+0xc0/0x144The NIC is Yukon-2 EC chip revision 1.
Converting checksum field from le16 to CPU byte order fixes the issue.
Signed-off-by: Anton Vorontsov
Signed-off-by: David S. Miller
26 Jun, 2009
5 commits
-
Add missing GPL flag and description.
mdio: module license 'unspecified' taints kernel.
Disabling lock debugging due to kernel taintSigned-off-by: Nicolas Reinecke das-labor.org>
Acked-by: Ben Hutchings
Signed-off-by: David S. Miller -
Unsigned boguscnt cannot be less than 0.
Signed-off-by: Roel Kluin
Signed-off-by: David S. Miller -
This patch fixes the case when ucc_geth or gianfar are compiled
as modules. Without this patch the call to phy_connect() fails.Signed-off-by: Ionut Nicu
Acked-by: Andy Fleming
Signed-off-by: David S. Miller -
Avoid showing wrong high values when the preferred lifetime of an address
is expired.Signed-off-by: Jens Rosenboom
Signed-off-by: David S. Miller -
RFC0793 defined that in FIN-WAIT-2 state if the ACK bit is off drop
the segment and return[Page 72]. But this check is missing in function
tcp_timewait_state_process(). This cause the segment with FIN flag but
no ACK has two diffent action:Case 1:
Node A Node B
(enter FIN-WAIT-2)
FIN -------------> discard
(move sk to tw list)Case 2:
Node A Node B
(enter FIN-WAIT-2)
(move sk to tw list)
FIN ------------->
Signed-off-by: David S. Miller
25 Jun, 2009
15 commits
-
RCU barriers, rcu_barrier(), is inserted two places.
In nf_conntrack_expect.c nf_conntrack_expect_fini() before the
kmem_cache_destroy(). Firstly to make sure the callback to the
nf_ct_expect_free_rcu() code is still around. Secondly because I'm
unsure about the consequence of having in flight
nf_ct_expect_free_rcu/kmem_cache_free() calls while doing a
kmem_cache_destroy() slab destroy.And in nf_conntrack_extend.c nf_ct_extend_unregister(), inorder to
wait for completion of callbacks to __nf_ct_ext_free_rcu(), which is
invoked by __nf_ct_ext_add(). It might be more efficient to call
rcu_barrier() in nf_conntrack_core.c nf_conntrack_cleanup_net(), but
thats make it more difficult to read the code (as the callback code
in located in nf_conntrack_extend.c).Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: Patrick McHardy -
Tell PCI core that atl1* device can wakeup the system when WOL is
enabled by calling device_set_wakeup_enable.Joerg noted that his atl1e device WOL fine after enabling it with
ethtool and changing /sys/class/net/eth0/device/power/wakeup to enabled
Tested on atl1e: https://bugzilla.novell.com/show_bug.cgi?id=493214Tested by: Joerg Reuter
Signed-off-by: Brandon Philips
Signed-off-by: David S. Miller -
Netlink address deletion events were not sent when a network device
vanished neither when Phonet was unloaded.Signed-off-by: Rémi Denis-Courmont
Signed-off-by: David S. Miller -
Signed-off-by: Rémi Denis-Courmont
Signed-off-by: David S. Miller -
This reverts commit ae0e8e82205c903978a79ebf5e31c670b61fa5b4.
This change had two problems:
1) Since it frees the stats in the drivers' close method, we
can OOPS in the transmit routine.2) stats are no longer remembered across ifdown/ifup which
disagrees with how every other device operates.Thanks to analysis and test patch from Serge E. Hallyn
and initial OOPS report by Sachin Sant.Signed-off-by: David S. Miller
-
This patch fixes and obvious typo in the netdev_ops initialization:
ndo_so_ioctl should be ndo_do_ioctl.Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
Our CAST algorithm is called cast5, not cast128. Clearly nobody
has ever used it :)Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller -
This reverts commit 9e9f46c44e487af0a82eb61b624553e2f7118f5b.
Quoting from the commit message:
"At this point, it seems to solve more problems than it causes, so let's
try using it by default. It's an easy revert if it ends up causing
trouble."And guess what? The _CRS code causes trouble.
Signed-off-by: Linus Torvalds
-
* git://git.infradead.org/battery-2.6:
da9030_battery: Fix race between event handler and monitor
Add MAX17040 Fuel Gauge driver
w1: ds2760_battery: add support for sleep mode feature
w1: ds2760: add support for EEPROM read and write
ds2760_battery: cleanups in ds2760_battery_probe() -
…/{vfs-2.6,audit-current}
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
another race fix in jfs_check_acl()
Get "no acls for this inode" right, fix shmem breakage
inline functions left without protection of ifdef (acl)* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
audit: inode watches depend on CONFIG_AUDIT not CONFIG_AUDIT_SYSCALL -
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Even though one cannot make use of the audit watch code without
CONFIG_AUDIT_SYSCALL the spaghetti nature of the audit code means that
the audit rule filtering requires that it at least be compiled.Thus build the audit_watch code when we build auditfilter like it was
before cfcad62c74abfef83762dc05a556d21bdf3980a2Clearly this is a point of potential future cleanup..
Reported-by: Frans Pop
Signed-off-by: Eric Paris
Signed-off-by: Al Viro -
Signed-off-by: Al Viro