deliverable/linux.git
19 years ago[IPV4]: Fix BUG() in 2.6.x, udp_poll(), fragments + CONFIG_HIGHMEM
Herbert Xu [Mon, 30 May 2005 22:50:15 +0000 (15:50 -0700)] 
[IPV4]: Fix BUG() in 2.6.x, udp_poll(), fragments + CONFIG_HIGHMEM

Steven Hand <Steven.Hand@cl.cam.ac.uk> wrote:
>
> Reconstructed forward trace:
>
>   net/ipv4/udp.c:1334   spin_lock_irq()
>   net/ipv4/udp.c:1336   udp_checksum_complete()
> net/core/skbuff.c:1069   skb_shinfo(skb)->nr_frags > 1
> net/core/skbuff.c:1086   kunmap_skb_frag()
> net/core/skbuff.h:1087   local_bh_enable()
> kernel/softirq.c:0140   WARN_ON(irqs_disabled());

The receive queue lock is never taken in IRQs (and should never be) so
we can simply substitute bh for irq.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix deadlock with ip_queue and tcp local input path.
Harald Welte [Mon, 30 May 2005 22:35:26 +0000 (15:35 -0700)] 
[NETFILTER]: Fix deadlock with ip_queue and tcp local input path.

When we have ip_queue being used from LOCAL_IN, then we end up with a
situation where the verdicts coming back from userspace traverse the TCP
input path from syscall context.  While this seems to work most of the
time, there's an ugly deadlock:

syscall context is interrupted by the timer interrupt.  When the timer
interrupt leaves, the timer softirq get's scheduled and calls
tcp_delack_timer() and alike.  They themselves do bh_lock_sock(sk),
which is already held from somewhere else -> boom.

I've now tested the suggested solution by Patrick McHardy and Herbert Xu to
simply use local_bh_{en,dis}able().

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoMerge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/tg3-2.6
Linus Torvalds [Mon, 30 May 2005 05:39:38 +0000 (22:39 -0700)] 
Merge ... /pub/scm/linux/kernel/git/davem/tg3-2.6

19 years agoMerge of /home/davem/src/GIT/tg3-2.6/
David S. Miller [Mon, 30 May 2005 04:25:01 +0000 (21:25 -0700)] 
Merge of /home/davem/src/GIT/tg3-2.6/

19 years ago[NET]: Use %lx for netdev->features sysfs formatting.
David S. Miller [Mon, 30 May 2005 03:28:25 +0000 (20:28 -0700)] 
[NET]: Use %lx for netdev->features sysfs formatting.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Clear up user copy warning in flowlabel code.
David S. Miller [Mon, 30 May 2005 03:28:01 +0000 (20:28 -0700)] 
[IPV6]: Clear up user copy warning in flowlabel code.

We are intentionally ignoring the copy_to_user() value,
make it clear to the compiler too.

Noted by Jeff Garzik.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Add ethtool support for NETIF_F_HW_CSUM.
Jon Mason [Mon, 30 May 2005 03:27:24 +0000 (20:27 -0700)] 
[NET]: Add ethtool support for NETIF_F_HW_CSUM.

Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Kill MULTIPATHHOLDROUTE flag.
Pravin B. Shelar [Mon, 30 May 2005 03:26:44 +0000 (20:26 -0700)] 
[IPV4]: Kill MULTIPATHHOLDROUTE flag.

It cannot work properly, so just ignore it in drr
and rr multipath algorithms just like the random
multipath algorithm does.

Suggested by Herbert Xu.

Signed-off by: Pravin B. Shelar <pravins@calsoftinc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Add is_multicast_ether_addr() in include/linux/etherdevice.h
Michael Ellerman [Mon, 30 May 2005 03:24:30 +0000 (20:24 -0700)] 
[NET]: Add is_multicast_ether_addr() in include/linux/etherdevice.h

This patch adds is_multicast_ether_addr() to go along with
is_valid_ether_addr() and friends. It then changes
is_valid_ether_addr() to use the new macro, and fixes up the comment
on that function to move implementation details out of the API doco.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Primary and secondary addresses
Harald Welte [Mon, 30 May 2005 03:23:46 +0000 (20:23 -0700)] 
[IPV4]: Primary and secondary addresses

Add an option to make secondary IP addresses get promoted
when primary IP addresses are removed from the device.
It defaults to off to preserve existing behavior.

Signed-off-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoAutomatic merge of 'misc-fixes' branch from
Linus Torvalds [Mon, 30 May 2005 02:30:03 +0000 (19:30 -0700)] 
Automatic merge of 'misc-fixes' branch from

rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

19 years ago[TG3]: Fix bug in tg3_load_firmware_cpu
Michael Chan [Sun, 29 May 2005 21:59:49 +0000 (14:59 -0700)] 
[TG3]: Fix bug in tg3_load_firmware_cpu

Add tg3_nvram_lock() and tg3_nvram_unlock() calls around tg3_halt_cpu().
It is possible that the bootcode may be loading code from nvram during
this call and stopping the cpu without getting the lock may cause
uncompleted nvram data to be left in the nvram data register. Subsequent
calls to read/write nvram data will fail.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add interrupt test
Michael Chan [Sun, 29 May 2005 21:59:20 +0000 (14:59 -0700)] 
[TG3]: Add interrupt test

This test uses the previously added tg3_test_interrupt() to perform the
test.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add loopback test
Michael Chan [Sun, 29 May 2005 21:58:59 +0000 (14:58 -0700)] 
[TG3]: Add loopback test

The test will loopback one packet in MAC loopback mode and verify the
packet data.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add memory test
Michael Chan [Sun, 29 May 2005 21:58:36 +0000 (14:58 -0700)] 
[TG3]: Add memory test

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add register test
Michael Chan [Sun, 29 May 2005 21:58:11 +0000 (14:58 -0700)] 
[TG3]: Add register test

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add parameter to tg3_halt
Michael Chan [Sun, 29 May 2005 21:57:48 +0000 (14:57 -0700)] 
[TG3]: Add parameter to tg3_halt

Add a reset kind parameter to tg3_halt() so that the RESET_KIND_SUSPEND
parameter can be passed to tg3_halt() before doing offline tests.

All other calls to tg3_halt() will use the RESET_KIND_SHUTDOWN
parameter.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add link test
Michael Chan [Sun, 29 May 2005 21:57:23 +0000 (14:57 -0700)] 
[TG3]: Add link test

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add nvram test
Michael Chan [Sun, 29 May 2005 21:56:58 +0000 (14:56 -0700)] 
[TG3]: Add nvram test

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add basic selftest infrastructure
Michael Chan [Sun, 29 May 2005 21:56:34 +0000 (14:56 -0700)] 
[TG3]: Add basic selftest infrastructure

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BRIDGE]: receive path optimization
Stephen Hemminger [Sun, 29 May 2005 21:16:48 +0000 (14:16 -0700)] 
[BRIDGE]: receive path optimization

This improves the bridge local receive path by avoiding going
through another softirq.  The bridge receive path is already being called
from a netif_receive_skb() there is no point in going through another
receiveq round trip.

Recursion is limited because bridge can never be a port of a bridge
so handle_bridge() always returns.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BRIDGE]: prevent bad forwarding table updates
Stephen Hemminger [Sun, 29 May 2005 21:15:55 +0000 (14:15 -0700)] 
[BRIDGE]: prevent bad forwarding table updates

Avoid poisoning of the bridge forwarding table by frames that have been
dropped by filtering. This prevents spoofed source addresses on hostile
side of bridge from causing packet leakage, a small but possible security
risk.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BRIDGE]: set features based on enslaved devices
Stephen Hemminger [Sun, 29 May 2005 21:15:17 +0000 (14:15 -0700)] 
[BRIDGE]: set features based on enslaved devices

Make features of the bridge pseudo-device be a subset of the underlying
devices.  Motivated by Xen and others who use bridging to do failover.

Signed-off-by: Catalin BOIE <catab at umrella.ro>
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BRIDGE]: make dev->features unsigned
Stephen Hemminger [Sun, 29 May 2005 21:14:35 +0000 (14:14 -0700)] 
[BRIDGE]: make dev->features unsigned

The features field in netdevice is really a bitmask, and bitmask's should
be unsigned.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BRIDGE]: features change notification
Stephen Hemminger [Sun, 29 May 2005 21:13:47 +0000 (14:13 -0700)] 
[BRIDGE]: features change notification

Resend of earlier patch (no changes) from Catalin used to provide
device feature change notification.

Signed-off-by: Catalin BOIE <catab at umbrella.ro>
Acked-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agolibata: bump version
Jeff Garzik [Sun, 29 May 2005 18:48:20 +0000 (14:48 -0400)] 
libata: bump version

19 years agoAutomatic merge of /spare/repo/netdev-2.6 branch use-after-unmap