]> git.neil.brown.name Git - history.git/log
history.git
21 years ago[TCP]: More sysctl tweakings for rcvbuf stuff.
David S. Miller [Sat, 29 May 2004 05:06:39 +0000 (22:06 -0700)]
[TCP]: More sysctl tweakings for rcvbuf stuff.

1) Add sysctl to control rcvbuf moderation, off for now.
2) Set default winscale to zero.

21 years ago[AIRO]: Fix build error.
David S. Miller [Fri, 28 May 2004 03:33:32 +0000 (20:33 -0700)]
[AIRO]: Fix build error.

21 years agoMerge nuts.davemloft.net:/disk1/BK/network-2.6
David S. Miller [Fri, 28 May 2004 02:51:20 +0000 (19:51 -0700)]
Merge nuts.davemloft.net:/disk1/BK/network-2.6
into nuts.davemloft.net:/disk1/BK/net-2.6

21 years ago[TCP]: Grow socket receive buffer based upon estimated sender window.
David S. Miller [Fri, 28 May 2004 02:48:19 +0000 (19:48 -0700)]
[TCP]: Grow socket receive buffer based upon estimated sender window.

21 years agoMerge http://xfs.org:8090/xfs-linux-2.6
Linus Torvalds [Thu, 27 May 2004 17:45:40 +0000 (10:45 -0700)]
Merge http://xfs.org:8090/xfs-linux-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years agoMerge sgi.com:/source2/linux-2.6 into sgi.com:/source2/xfs-linux-2.6
Nathan Scott [Fri, 28 May 2004 22:02:07 +0000 (08:02 +1000)]
Merge sgi.com:/source2/linux-2.6 into sgi.com:/source2/xfs-linux-2.6

21 years ago[XFS] Don't leak locked pages on readahead failure
Christoph Hellwig [Fri, 28 May 2004 21:45:30 +0000 (07:45 +1000)]
[XFS] Don't leak locked pages on readahead failure

SGI Modid: xfs-linux:xfs-kern:172618a

21 years ago[XFS] Fix overflow in mapping test at offsets of 2^63-1 bytes
Eric Sandeen [Fri, 28 May 2004 21:41:54 +0000 (07:41 +1000)]
[XFS] Fix overflow in mapping test at offsets of 2^63-1 bytes

SGI Modid: xfs-linux:xfs-kern:172649a

21 years ago[PATCH] ia64: use new ptep_set_access_flags
David Mosberger [Thu, 27 May 2004 17:38:21 +0000 (10:38 -0700)]
[PATCH] ia64: use new ptep_set_access_flags

ia64: Implement race-free ptep_set_access_flags()

Signed-off-by: davidm@hpl.hp.com
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] ppc32: Fix typo in USB sleep code on intrepid based laptops
Benjamin Herrenschmidt [Thu, 27 May 2004 17:38:10 +0000 (10:38 -0700)]
[PATCH] ppc32: Fix typo in USB sleep code on intrepid based laptops

This fixes a typo in the low level platform code that puts to sleep and
wakes up the USB cell.  This fixes a problem when pmdisk is used on
those machines (pmdisk patch not merged yet, soon maybe...)

From: Guido Guenther <agx@sigxcpu.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years agoMerge bk://gkernel.bkbits.net/net-drivers-2.6
Linus Torvalds [Thu, 27 May 2004 17:35:22 +0000 (10:35 -0700)]
Merge bk://gkernel.bkbits.net/net-drivers-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[netdrvr] Add 'gigabit ethernet' config option
Jeff Garzik [Thu, 27 May 2004 12:42:46 +0000 (08:42 -0400)]
[netdrvr] Add 'gigabit ethernet' config option

21 years ago[netdrvr ixgb] massive update
Jeff Garzik [Thu, 27 May 2004 12:22:20 +0000 (08:22 -0400)]
[netdrvr ixgb] massive update

Since Intel agreed to submit further updates via broken-up patches
like they do currently (and admirably) for e1000 and e100, I agreed
to merge this update to bring the driver up to speed.

Contributed by: Ayyappan.Veeraiyan@intel.com

Changes:

Features implemented

* Support for new 850nm adapters.
* Copyright notice updated to include year 2004.
* Fix for "ixgb does not maintain non-default MTU setting across a
link loss" issue - When link loss happens in non-default MTU
environment, driver will incorrectly operate with default 1500 MTU
setting.
* Netpoll support added
* Ethtool support - status functionality, FlowControl interface,
Checksum interface, TSO and Scatter Gather interfaces
* Race condition fix - Race condition (TX path) exists between
ixgb_xmit_frame and clean_tx_irq routines in handling the queue.
*  Removed dead code segments (#if 0)

Performance improvement features
* Mod operator usage is removed - used to cause performance
problems in non-IA architecture based machines
* Multiple ICR register read in ISR is avoided
* RS bit set on only 'end of packet' TX descriptors - to avoid
multiple writebacks by controller for packets with multiple descriptors.
* RX descriptors prefetch is done - improved 1500 MTU TX
performance

All relevant e1000 driver cleanups ported to ixgb
* Valid error propagation in functions ixgb_up, ixgb_probe,
ixgb_open.
*  NAPI code cleanups
*  u8, u16 and u32 data types are changed to uint8_t, uint16_t and
uint32_t respectively. We use these types on our shared code for
multiple OSes and also to make it uniform with e1000 driver.
* Some functions in ixgb_main.c are moved to different location -
This enables easy porting of e1000 bug fixes to ixgb

21 years agoMerge redhat.com:/spare/repo/netdev-2.6/via-rhine
Jeff Garzik [Thu, 27 May 2004 12:05:32 +0000 (08:05 -0400)]
Merge redhat.com:/spare/repo/netdev-2.6/via-rhine
into redhat.com:/spare/repo/net-drivers-2.6

21 years agoMerge redhat.com:/spare/repo/netdev-2.6/sis900
Jeff Garzik [Thu, 27 May 2004 12:04:23 +0000 (08:04 -0400)]
Merge redhat.com:/spare/repo/netdev-2.6/sis900
into redhat.com:/spare/repo/net-drivers-2.6

21 years agoMerge redhat.com:/spare/repo/netdev-2.6/pcnet32
Jeff Garzik [Thu, 27 May 2004 12:03:05 +0000 (08:03 -0400)]
Merge redhat.com:/spare/repo/netdev-2.6/pcnet32
into redhat.com:/spare/repo/net-drivers-2.6

21 years agoMerge redhat.com:/spare/repo/netdev-2.6/misc
Jeff Garzik [Thu, 27 May 2004 12:01:48 +0000 (08:01 -0400)]
Merge redhat.com:/spare/repo/netdev-2.6/misc
into redhat.com:/spare/repo/net-drivers-2.6

21 years agoMerge redhat.com:/spare/repo/netdev-2.6/farsync
Jeff Garzik [Thu, 27 May 2004 12:00:32 +0000 (08:00 -0400)]
Merge redhat.com:/spare/repo/netdev-2.6/farsync
into redhat.com:/spare/repo/net-drivers-2.6

21 years agoMerge redhat.com:/spare/repo/netdev-2.6/emac
Jeff Garzik [Thu, 27 May 2004 11:59:32 +0000 (07:59 -0400)]
Merge redhat.com:/spare/repo/netdev-2.6/emac
into redhat.com:/spare/repo/net-drivers-2.6

21 years agoMerge redhat.com:/spare/repo/netdev-2.6/e1000
Jeff Garzik [Thu, 27 May 2004 11:58:11 +0000 (07:58 -0400)]
Merge redhat.com:/spare/repo/netdev-2.6/e1000
into redhat.com:/spare/repo/net-drivers-2.6

21 years agoMerge redhat.com:/spare/repo/netdev-2.6/acenic
Jeff Garzik [Thu, 27 May 2004 11:57:09 +0000 (07:57 -0400)]
Merge redhat.com:/spare/repo/netdev-2.6/acenic
into redhat.com:/spare/repo/net-drivers-2.6

21 years ago[PATCH] net/sk98lin: correct buggy VPD in ASUS MB
Andrew Morton [Thu, 27 May 2004 11:33:27 +0000 (07:33 -0400)]
[PATCH] net/sk98lin: correct buggy VPD in ASUS MB

From: Jeff Lightfoot <jeffml@pobox.com>

The following patch to net/sk98lin/skvpd.c was put together by Marc Bouget,
mbouget at club-internet.fr.

This patch works around a corrupt EEPROM (VPD?) in the ASUS K8V Deluxe SE
motherboard ethernet chipset and allows the network driver to work
correctly.  We have written to ASUS and the sk98lin maintainers but have
not heard anything back.

21 years agosb1000 and wan/sealevel net drivers need to include linux/init.h.
Christoph Hellwig [Thu, 27 May 2004 11:15:11 +0000 (07:15 -0400)]
sb1000 and wan/sealevel net drivers need to include linux/init.h.

21 years agoAdd new IBM PPC4xx EMAC net driver.
Matt Porter [Thu, 27 May 2004 11:12:36 +0000 (07:12 -0400)]
Add new IBM PPC4xx EMAC net driver.

21 years ago[PATCH] via-rhine: netdev_priv()
Roger Luethi [Thu, 27 May 2004 11:08:08 +0000 (07:08 -0400)]
[PATCH] via-rhine: netdev_priv()

Found another patch that should go with this batch:

Switch to netdev_priv(). Fix outdated comment and bump version number
while we're at it.

21 years ago[PATCH] via-rhine: USE_MEM, USE_IO -> USE_MMIO
Roger Luethi [Thu, 27 May 2004 11:07:59 +0000 (07:07 -0400)]
[PATCH] via-rhine: USE_MEM, USE_IO -> USE_MMIO

Replace USE_MEM and USE_IO with USE_MMIO define.

21 years ago[PATCH] via-rhine: Whitespace clean-up
Roger Luethi [Thu, 27 May 2004 11:07:51 +0000 (07:07 -0400)]
[PATCH] via-rhine: Whitespace clean-up

- Switch to 8 char tabs.
- Remove kernel log pointer to the scyld web site -- it's
  a) fairly irrelevant by now and
  b) gone.
- Remove Emacs Voodoo.
- More white space clean up, mostly coding style.

21 years ago[PATCH] via-rhine: Rename some symbols
Roger Luethi [Thu, 27 May 2004 11:07:42 +0000 (07:07 -0400)]
[PATCH] via-rhine: Rename some symbols

This patch renames symbols:
via_rhine_* -> rhine_*
struct netdev_private *np -> struct rhine_private *rp

21 years ago[PATCH] via-rhine: Fix force media
Roger Luethi [Thu, 27 May 2004 11:07:33 +0000 (07:07 -0400)]
[PATCH] via-rhine: Fix force media

Lucas Nussbaum and Dirk Koeppen each found independently that the code
for forcing media options in via-rhine is borked and suggested the fix
below. I've been sitting on this way too long because there is more
badness in the immediate vicinity which needs a bigger surgery.

The second hunk fixes a braino I managed to introduce myself.

21 years ago[PATCH] pcnet32: fix for patch 8 le16_to_cpu
Don Fry [Thu, 27 May 2004 10:07:05 +0000 (06:07 -0400)]
[PATCH] pcnet32: fix for patch 8 le16_to_cpu

Joe Perches pointed out an error in patch 8.  As I looked at the results
closer 3 out of 4 looked correct.  This fixes the output for the last
case.  Output is now the same on IA32 and PPC64 hardware.

21 years ago[netdrvr tulip] new pci id
Per Olofsson [Thu, 27 May 2004 10:05:00 +0000 (06:05 -0400)]
[netdrvr tulip] new pci id

21 years ago[netdrvr b44] always restore PCI config on resume
Stefan Rompf [Thu, 27 May 2004 09:51:22 +0000 (05:51 -0400)]
[netdrvr b44] always restore PCI config on resume

the Broadcom BCM4401 driver restores pci configuration on resume only when the
device is up. On my notebook, this leads to a failure when the device is down
during the S3 cycle. Short solution for now: Always restore pci config.

21 years ago[PATCH] e1000 7/7: Support for ethtool msglevel based error
Ganesh Venkatesan [Thu, 27 May 2004 09:44:06 +0000 (05:44 -0400)]
[PATCH] e1000 7/7: Support for ethtool msglevel based error

Also included are driver version update and change logs

21 years ago[PATCH] e1000 6/7: ethtool_ops support
Ganesh Venkatesan [Thu, 27 May 2004 09:43:57 +0000 (05:43 -0400)]
[PATCH] e1000 6/7: ethtool_ops support

21 years ago[PATCH] e1000 4/7: Estimate number of tx descriptors required
Ganesh Venkatesan [Thu, 27 May 2004 09:43:49 +0000 (05:43 -0400)]
[PATCH] e1000 4/7: Estimate number of tx descriptors required

Reduce scope of tx_lock

21 years ago[PATCH] e1000 3/7: Determine link status correctly while using
Ganesh Venkatesan [Thu, 27 May 2004 09:43:40 +0000 (05:43 -0400)]
[PATCH] e1000 3/7: Determine link status correctly while using

21 years ago[PATCH] e1000 2/7: Workaround for link LED staying ON even when
Ganesh Venkatesan [Thu, 27 May 2004 09:43:32 +0000 (05:43 -0400)]
[PATCH] e1000 2/7: Workaround for link LED staying ON even when

21 years ago[PATCH] e1000 1/7: Clear Auto-MDIX when the link is forced to
Ganesh Venkatesan [Thu, 27 May 2004 09:43:24 +0000 (05:43 -0400)]
[PATCH] e1000 1/7: Clear Auto-MDIX when the link is forced to

21 years ago[wireless airo] Add RFMON support for MPI and latest Cisco
Javier Achirica [Thu, 27 May 2004 09:33:57 +0000 (05:33 -0400)]
[wireless airo] Add RFMON support for MPI and latest Cisco

21 years ago[netdrvr wan] farsync driver update
Kevin Curtis [Thu, 27 May 2004 09:24:17 +0000 (05:24 -0400)]
[netdrvr wan] farsync driver update

1) Provides support for new FarSync cards T1U, T2U, T4U and TE1
2) Provides support for an E1 interface
3) Provides support for a variant of X.21 that allows transmit and
receive clocks
4) Provide a raw socket interface directly to the data from the line.
5) Improves performance with less time in interrupts and more in BH's

21 years ago[PATCH] pcnet32: avoid timeout with tcpdump
Don Fry [Thu, 27 May 2004 09:12:31 +0000 (05:12 -0400)]
[PATCH] pcnet32: avoid timeout with tcpdump

This patch avoids a timeout when entering/exiting promiscuous mode with
tcpdump.  All pending xmit operations are flushed and if the queue is
full the timeout will occur.  The wake_queue avoids that timeout.
Tested ppc64 and ia32.

21 years ago[PATCH] pcnet32: correct printk for big-endian arch
Don Fry [Thu, 27 May 2004 09:12:23 +0000 (05:12 -0400)]
[PATCH] pcnet32: correct printk for big-endian arch

This patch corrects a printk when executed on a big-endian system.  Tested
ppc64.

21 years ago[PATCH] pcnet32: fix bogus carrier errors with 79c973
Don Fry [Thu, 27 May 2004 09:12:15 +0000 (05:12 -0400)]
[PATCH] pcnet32: fix bogus carrier errors with 79c973

The 79C973 version of the pcnet32 chipset would report all transmit
operations as being sent with a carrier error.  The root cause was
writing reserved bits in bcr33.  It caused the 973 to report xmit
as errors, and caused 975 and 976 to hard hang when reading bcr34.

My thanks to Bruce Penrod for his help in finding the cause of this
bug.

21 years ago[PATCH] pcnet32: limit frames received during interrupt.
Don Fry [Thu, 27 May 2004 09:12:06 +0000 (05:12 -0400)]
[PATCH] pcnet32: limit frames received during interrupt.

The current code will allow an infinite number of frames to be received
during one interrupt.  Tested ia32 and ppc64.

21 years ago[PATCH] pcnet32: remove timer and complexity.
Don Fry [Thu, 27 May 2004 09:04:02 +0000 (05:04 -0400)]
[PATCH] pcnet32: remove timer and complexity.

This removes the timer I recently added, and the 'ltint' interrupt
mitigation from the 79C971 and 79C972. It did not improve performance,
added complexity, and was a bad idea in hind sight.

21 years ago[PATCH] pcnet32: fix boundary comparison bug.
Don Fry [Thu, 27 May 2004 09:03:48 +0000 (05:03 -0400)]
[PATCH] pcnet32: fix boundary comparison bug.

This patch fixes a boundary condition.  It is possible to get an
interrupt and have the transmit queue completely full.  Without this
the driver will leak skb's and pci maps (if the arch supports them).

21 years ago[PATCH] pcnet32: correct 79C976 variant string.
Don Fry [Thu, 27 May 2004 09:03:35 +0000 (05:03 -0400)]
[PATCH] pcnet32: correct 79C976 variant string.

This patch correctly identifies the 79C976 as a PCnet/PRO not a FAST III.

21 years ago[PATCH] pcnet32: avoid hard hang with some chip variants.
Don Fry [Thu, 27 May 2004 09:03:22 +0000 (05:03 -0400)]
[PATCH] pcnet32: avoid hard hang with some chip variants.

This patch fixes a hard hang with 79C975 and 79C976 chip variants when
dumping BCR register #34.

21 years ago[PATCH] pcnet32: add static to two routines.
Don Fry [Thu, 27 May 2004 09:03:08 +0000 (05:03 -0400)]
[PATCH] pcnet32: add static to two routines.

This patch adds 'static' to two routines.  The prototype has static but
the instantiation did not.

21 years ago[PATCH] Fix incorrect but unused define in net_sk_mca.h
Rusty Russell [Thu, 27 May 2004 08:54:22 +0000 (04:54 -0400)]
[PATCH] Fix incorrect but unused define in net_sk_mca.h

 From:  Jean Delvare <khali@linux-fr.org>

21 years ago[PATCH] Update Alfred Arnold contact info
Rusty Russell [Thu, 27 May 2004 08:54:08 +0000 (04:54 -0400)]
[PATCH] Update Alfred Arnold contact info

 From:  Jean Delvare <khali@linux-fr.org>

21 years ago[PATCH] Fix 8139too ring size for dreamcast/embedded
Paul Mundt [Thu, 27 May 2004 08:53:44 +0000 (04:53 -0400)]
[PATCH] Fix 8139too ring size for dreamcast/embedded

Presently 2.6.6 backs out the CONFIG_8139_RXBUF_IDX in favor of using a
hardcoded 8139_RXBUF_IDX (again). This seems to have been done due to
some issues occuring with 8139_RXBUF_IDX =3D=3D 3, however (as the Kconfig
pointed out), we still need 8139_RXBUF_IDX =3D=3D 1 in the CONFIG_SH_DREAMC=
AST
case.

The patch which made this change can be seen at:

{MIME-mangled URL}

Before that, CONFIG_8139_RXBUF_IDX was set to 1 both in the
CONFIG_SH_DREAMCAST and CONFIG_EMBEDDED cases. This patch adds that
back into the current 8139too.

21 years ago[PATCH] fix net/tulip/winbond-840.c warning.
Luiz Capitulino [Thu, 27 May 2004 08:52:07 +0000 (04:52 -0400)]
[PATCH] fix net/tulip/winbond-840.c warning.

21 years ago[TCP]: Add receiver side RTT estimation.
David S. Miller [Thu, 27 May 2004 07:07:42 +0000 (00:07 -0700)]
[TCP]: Add receiver side RTT estimation.

Based largely upon work by John Heffner.

21 years agoCset exclude: mashirle@us.ibm.com|ChangeSet|20040526204412|10895
David S. Miller [Thu, 27 May 2004 04:17:04 +0000 (21:17 -0700)]
Cset exclude: mashirle@us.ibm.com|ChangeSet|20040526204412|10895

21 years agoMerge nuts.davemloft.net:/disk1/BK/sparcwork-2.6
David S. Miller [Thu, 27 May 2004 03:07:06 +0000 (20:07 -0700)]
Merge nuts.davemloft.net:/disk1/BK/sparcwork-2.6
into nuts.davemloft.net:/disk1/BK/sparc-2.6

21 years ago[SPARC64]: Export _do_write_trylock to modules.
David S. Miller [Thu, 27 May 2004 02:49:52 +0000 (19:49 -0700)]
[SPARC64]: Export _do_write_trylock to modules.

21 years ago[PATCH] nfsd: deleting symlinks over nfs causes oops on unmount
Andrew Morton [Thu, 27 May 2004 00:36:46 +0000 (17:36 -0700)]
[PATCH] nfsd: deleting symlinks over nfs causes oops on unmount

From: "J. Bruce Fields" <bfields@fieldses.org>
From: Neil Brown <neilb@cse.unsw.edu.au>

This fixes an oops on unmount (failure of the assertation at
fs/ext3/super.c:421).  Probably reproduceable just by creating and deleting a
single symlink over nfs and then unmounting the exported filesystem.

Recent change to fh_compose means dentry reference is *not* consumed, and so
usually has to be explicitly dput afterwards.  One usage was missed in that
patch, so this dput is needed.

Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] Print backtrace for bad vfree()
Andrew Morton [Thu, 27 May 2004 00:36:36 +0000 (17:36 -0700)]
[PATCH] Print backtrace for bad vfree()

From: Andi Kleen <ak@suse.de>

Only the printk alone is not too useful, print the backtrace too.

Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] swsusp documentation updates
Andrew Morton [Thu, 27 May 2004 00:36:25 +0000 (17:36 -0700)]
[PATCH] swsusp documentation updates

From: Pavel Machek <pavel@ucw.cz>

Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] CPU Hotplug: restore Idle task's priority during CPU_DEAD notification
Andrew Morton [Thu, 27 May 2004 00:36:14 +0000 (17:36 -0700)]
[PATCH] CPU Hotplug: restore Idle task's priority during CPU_DEAD notification

From: Srivatsa Vaddagiri <vatsa@in.ibm.com>

Fix a CPU Hotplug problem wherein idle task's "->prio" value is not
restored to MAX_PRIO during CPU_DEAD handling.  Without this patch, once a
CPU is offlined and then later onlined, it becomes "more or less" useless
(does not run any task other than its idle task!)

Ingo said:

  The __setscheduler() call is (technically) incorrect because in the
  SCHED_NORMAL case the prio should be zero.  So it's a bit cleaner to set up
  the static priority to MAX_PRIO and then revert the policy to SCHED_NORMAL
  via __setscheduler().

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] remove message: POSIX conformance testing by UNIFIX
Andrew Morton [Thu, 27 May 2004 00:36:04 +0000 (17:36 -0700)]
[PATCH] remove message: POSIX conformance testing by UNIFIX

From: "Randy.Dunlap" <rddunlap@osdl.org>

Remove the outdated "POSIX conformance testing by UNIFIX" message.

There is a general desire to reduce the quantity of noisy and/or
outdated kernel boot-time messages...

Suggested by Andi Kleen.

Ulrich's (old) comments:
http://www.nsa.gov/selinux/list-archive/0107/0525.cfm

Certifying Linux (Linux Journal):
http://www.linuxjournal.com/article.php?sid=0131

Agreed by Tim Bird, no dissenters that I heard of:
http://marc.theaimsgroup.com/?l=linux-kernel&m=108362954024749&w=2

Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] wdt.c warning fix
Andrew Morton [Thu, 27 May 2004 00:35:53 +0000 (17:35 -0700)]
[PATCH] wdt.c warning fix

drivers/char/watchdog/wdt.c: In function `wdt_init':
drivers/char/watchdog/wdt.c:638: warning: label `outrbt' defined but not used

Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] Fix the setting of file->f_ra on block-special files
Andrew Morton [Thu, 27 May 2004 00:35:42 +0000 (17:35 -0700)]
[PATCH] Fix the setting of file->f_ra on block-special files

We need to set file->f_ra _after_ calling blkdev_open(), when inode->i_mapping
points at the right thing.  And we need to get it from
inode->i_mapping->host->i_mapping too, which represents the underlying device.

Also, don't test for null file->f_mapping in the O_DIRECT checks.

Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] Set d_bucket correctly for anonymous dentries
Andrew Morton [Thu, 27 May 2004 00:35:31 +0000 (17:35 -0700)]
[PATCH] Set d_bucket correctly for anonymous dentries

From: Neil Brown <neilb@cse.unsw.edu.au>

In researching the oopses reported in bug #2761, Neil came up with:

I have found one problem, but it isn't particularly new and I cannot
 see how it would be related.

When d_alloc_anon creates an anonymous dentry, it is put on a special hash
chain for anonymous dentries (sb->s_anon), but d_bucket is set to

   d_hash(parent, name_hash)

If, when it is eventually moved to a proper name, that hash value is the same
as the final hash value, it will not be moved to the right bucket, and so it
not be accessible by name.  This patch should fix it.

anonymous dentries have their own private hash "bucket" (sb->s_anon) and so
d_bucket should be set to a unique (impossible) address, else d_move will
get confused.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] posix locks oops fix
Andrew Morton [Thu, 27 May 2004 00:35:21 +0000 (17:35 -0700)]
[PATCH] posix locks oops fix

From: Andreas Gruenbacher <agruen@suse.de>

There is a race between unshare_files() and the following steal_locks().
As a consequence, steal_locks() may steal some additional FL_POSIX locks
that don't belong to the current thread.  This triggers a BUG in
locks_remove_flock().

In detail, the current thread shares its files struct with other threads.
This causes unshare_files() to associate the current thread with a copy of
its files_struct.  The copy shares all file objects with the original files
struct.  In the time between unshare_files() and steal_locks(), another
thread creates a new file and a FL_POSIX lock on it.  The current thread
gets into steal_locks() and takes over all FL_POSIX locks that refer to the
previous files_struct, including the new lock.  We do
put_files_struct(original files_struct).  This causes the file handle to
the new file to be closed.  We get into locks_remove_posix() and miss the
lock, because its fl_owner field now refers to the new files_struct.
Finally we get into locks_remove_flock(), and stumble upon the lock.

While looking into this bug report I gathered the following data with a
SUSE kernel (oops and LKCD dump from Chris):

kernel BUG at fs/locks.c:1736!
invalid operand: 0000 [#1]
SMP
CPU:    0
EIP:    0060:[<c01844fb>]    Tainted: G  U
EFLAGS: 00010246   (2.6.5-0-testing)
EIP is at locks_remove_flock+0x8b/0x130
eax: f7b89998   ebx: f61df3fc   ecx: f61df354   edx: 00000000
esi: f61df354   edi: f6702b80   ebp: f6179c24   esp: f6179c08
ds: 007b   es: 007b   ss: 0068
Process owcimomd (pid: 1713, threadinfo=f6178000 task=f66d0d60)
Stack: c1e1fdac c1e1fdac f7fe83c0 00000296 f6702b80 f7fe87c0 f61df354 f6179c3c
       c016ce00 f61ddadc f6702b80 00000000 f6703b00 f6179c54 c0168b1f c0000000
       0000026f 00000012 f6703b00 f6179c6c c0124ba7 00000001 f6179e5c f6179d88
Call Trace:
 [<c016ce00>] __fput+0x30/0x120
 [<c0168b1f>] filp_close+0x4f/0x90
 [<c0124ba7>] put_files_struct+0x67/0xc0
 [<c019d285>] load_elf_binary+0x3f5/0x1596
 [<c018a5af>] update_atime+0x9f/0xc0
 [<c01478fd>] __generic_file_aio_read+0x1cd/0x200
 [<c0145060>] file_read_actor+0x0/0xd0
 [<c01784b7>] search_binary_handler+0x97/0x270
 [<c017a072>] do_execve+0x172/0x200
 [<c0105fb2>] sys_execve+0x32/0x70
 [<c0107e21>] sysenter_past_esp+0x52/0x71

Code: 0f 0b c8 06 eb 74 35 c0 eb db b8 00 e0 ff ff 21 e0 8b 10 8b

put_files_struct+0x67 is equivalent to fs/binfmt_elf.c:681 in 2.6.6

current->files == fl->fl_owner
fl->fl_file = 0xf6702b80 (a valid struct file)

current->files =
  max_fds=32
  max_fdset=1024
  next_fd=3
  fd=[0xf6927080 0xf6951b80  0xf6951b80 0 ...]

Here's a proposed fix.  As a side effect, steal_locks no longer walks the
global list of locks, but only the locks of all open inodes.

What are the reasons (other than historic ones) for not getting rid of
fl_owner and using fl_pid instead, by the way?  I think that would clean up
the whole mess with file locks a bit.

Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] ppc32: fix 'make O=...'
Andrew Morton [Thu, 27 May 2004 00:35:10 +0000 (17:35 -0700)]
[PATCH] ppc32: fix 'make O=...'

From: Tom Rini <trini@kernel.crashing.org>

Fix arch/ppc/boot/ so that everything now works with 'make O='.

Partially by: Geoffrey LEVAND <geoffrey.levand@am.sony.com>.
Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[PATCH] ppc64 kernel hackers can't spell
Andrew Morton [Thu, 27 May 2004 00:34:58 +0000 (17:34 -0700)]
[PATCH] ppc64 kernel hackers can't spell

From: Anton Blanchard <anton@samba.org>

From: Dave Hansen

This patch is obviously of the utmost importance.  It probably doesn't matter
as much for kernel error messages, but one of these mistakes is in a
user-readable /proc file.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
21 years ago[TCP]: Add tcp_default_win_scale sysctl.
David S. Miller [Wed, 26 May 2004 08:09:10 +0000 (01:09 -0700)]
[TCP]: Add tcp_default_win_scale sysctl.

21 years ago[TCP]: Kill distance enforcement between tcp_mem[] elements.
David S. Miller [Wed, 26 May 2004 07:35:27 +0000 (00:35 -0700)]
[TCP]: Kill distance enforcement between tcp_mem[] elements.

21 years ago[SCTP]: Kill 64-bit platform warning.
David S. Miller [Wed, 26 May 2004 07:20:57 +0000 (00:20 -0700)]
[SCTP]: Kill 64-bit platform warning.

21 years ago[RTNETLINK]: IFA_MAX is wrong.
Shirley Ma [Wed, 26 May 2004 06:55:48 +0000 (23:55 -0700)]
[RTNETLINK]: IFA_MAX is wrong.

21 years ago[IPV6]: Add new IPv6 MIBs counters support through netlink.
Shirley Ma [Wed, 26 May 2004 06:44:12 +0000 (23:44 -0700)]
[IPV6]: Add new IPv6 MIBs counters support through netlink.

This patch implements both per interface and global new IPv6 MIBs counters
through netlink based on new IP MIBs draft, 64 bit counters are not supported
here because of performance issues. It coexists old IPv6 MIBs counters (which
are through proc file system) for the compatibility.

21 years ago[CRYPTO]: Fix two scatterwalk problems.
Christophe Saout [Wed, 26 May 2004 06:25:49 +0000 (23:25 -0700)]
[CRYPTO]: Fix two scatterwalk problems.

- After calling scatterwalk_copychunks walk_in might point to the next
  page which will break scatterwalk_samebuf (in this case src_p should
  point to tmp_src anyway and scatterwalk_samembuf returns 0).

- scatterwalk_samebuf should also check for equal offsets inside the page
  (just bad for performance in some cases).

21 years ago[IPV6]: Fix pmtu check conditions in two spots.
Shirley Ma [Wed, 26 May 2004 06:24:17 +0000 (23:24 -0700)]
[IPV6]: Fix pmtu check conditions in two spots.

21 years ago[SPARC64]: Kill unused var warnings/errors.
David S. Miller [Wed, 26 May 2004 04:15:27 +0000 (21:15 -0700)]
[SPARC64]: Kill unused var warnings/errors.

21 years agoMerge bk://are.twiddle.net/axp-2.6
Linus Torvalds [Wed, 26 May 2004 02:08:10 +0000 (19:08 -0700)]
Merge bk://are.twiddle.net/axp-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years agoMerge bk://kernel.bkbits.net/davem/net-2.6
Linus Torvalds [Wed, 26 May 2004 02:06:26 +0000 (19:06 -0700)]
Merge bk://kernel.bkbits.net/davem/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[PATCH] ppc64: fix nonexistent irq affinity
Paul Mackerras [Wed, 26 May 2004 02:03:18 +0000 (19:03 -0700)]
[PATCH] ppc64: fix nonexistent irq affinity

This fixes a bug where, if we try to set the affinity on an unused
virtual IRQ number on a logically-partitioned pSeries system, we call
the firmware with physical IRQ number = -1, which it doesn't like.

With this patch we just ignore the attempt.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] ide: use msleep() instead of ide_delay_50ms()
Bartlomiej Zolnierkiewicz [Wed, 26 May 2004 01:30:08 +0000 (18:30 -0700)]
[PATCH] ide: use msleep() instead of ide_delay_50ms()

msleep() does msecs to jiffies conversion correctly regardless
of HZ value and sets the current task's state in a safe way.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] ide: fix ide_delay_50ms() in ide.c to always sleep
Bartlomiej Zolnierkiewicz [Wed, 26 May 2004 01:29:57 +0000 (18:29 -0700)]
[PATCH] ide: fix ide_delay_50ms() in ide.c to always sleep

Noticed by Christoph Hellwig <hch@lst.de>.

Probably somebody got the logic wrong while adding
#ifndef CONFIG_BLK_DEV_IDECS back in 2.4.0-test2.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] ide: missing rq checks in ide-disk
Bartlomiej Zolnierkiewicz [Wed, 26 May 2004 01:29:48 +0000 (18:29 -0700)]
[PATCH] ide: missing rq checks in ide-disk

ide-disk only checks for drive->blocked and blk_fs_request() if TASKFILE_IO
is defined.  Move these checks (and TCQ check too) to upper function.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years agoSplit ptep_establish into "establish" and "update_access_flags"
Linus Torvalds [Wed, 26 May 2004 00:56:23 +0000 (17:56 -0700)]
Split ptep_establish into "establish" and "update_access_flags"

ptep_establish() is used to establish a new mapping at COW time,
and it always replaces a non-writable page mapping with a totally
new page mapping that is dirty (and likely writable, although ptrace
may cause a non-writable new mapping). Because it was nonwritable,
we don't have to worry about losing concurrent dirty page bit updates.

ptep_update_access_flags() leaves the same page mapping, but updates
the accessed/dirty/writable bits (it only ever sets them, and never
removes any permissions). Often easier, but it may race with a dirty
bit update on another CPU.

Booted on x86 and ppc64.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years agoMerge davem@nuts.davemloft.net:/disk1/BK/net-2.6
David S. Miller [Tue, 25 May 2004 16:14:47 +0000 (09:14 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/net-2.6
into kernel.bkbits.net:/home/davem/net-2.6

21 years ago[NET_SCHED] Do not oops when user tries to attach a filter to a TBF qdisc.
Dmitry Torokhov [Tue, 25 May 2004 16:13:48 +0000 (09:13 -0700)]
[NET_SCHED] Do not oops when user tries to attach a filter to a TBF qdisc.

(TBF does not allow attaching filters as it has only one class,
filter should be attached either to TBF's parent or to its child)

21 years ago[SPARC64]: Move over to HZ==1000.
David S. Miller [Tue, 25 May 2004 15:52:09 +0000 (08:52 -0700)]
[SPARC64]: Move over to HZ==1000.

21 years agoRemove bogus test preprocessor test.
Linus Torvalds [Tue, 25 May 2004 15:24:29 +0000 (08:24 -0700)]
Remove bogus test preprocessor test.

PAGE_SIZE isn't even always defined at this point,
which makes us test undefined preprocessor symbols.

It so happens that the test works in that case,
but since the test is a bit pointless in the first
place...

21 years agoMake constant types explicit, rather than depend on
Linus Torvalds [Tue, 25 May 2004 15:22:33 +0000 (08:22 -0700)]
Make constant types explicit, rather than depend on
some rather subtle C type expansion rules.

This makes sparse happier.

21 years agoDon't return void types from void functions.
Linus Torvalds [Tue, 25 May 2004 15:21:34 +0000 (08:21 -0700)]
Don't return void types from void functions.

This helps reduce sparse noise.

21 years ago[SPARC64]: Update defconfig.
David S. Miller [Tue, 25 May 2004 15:04:26 +0000 (08:04 -0700)]
[SPARC64]: Update defconfig.

21 years ago[SPARC64]: Implement _raw_spin_lock_flags().
David S. Miller [Tue, 25 May 2004 15:01:48 +0000 (08:01 -0700)]
[SPARC64]: Implement _raw_spin_lock_flags().

21 years agoMerge nuts.davemloft.net:/disk1/BK/sparcwork-2.6
David S. Miller [Tue, 25 May 2004 08:17:51 +0000 (01:17 -0700)]
Merge nuts.davemloft.net:/disk1/BK/sparcwork-2.6
into nuts.davemloft.net:/disk1/BK/sparc-2.6

21 years agoMerge bk://kernel.bkbits.net/davem/tg3-2.6
Linus Torvalds [Tue, 25 May 2004 07:39:03 +0000 (00:39 -0700)]
Merge bk://kernel.bkbits.net/davem/tg3-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[SPARC64]: Implement debugging version of write_trylock().
David S. Miller [Tue, 25 May 2004 07:01:13 +0000 (00:01 -0700)]
[SPARC64]: Implement debugging version of write_trylock().

21 years agoMerge davem@nuts.davemloft.net:/disk1/BK/tg3-2.6
David S. Miller [Tue, 25 May 2004 06:54:42 +0000 (23:54 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/tg3-2.6
into kernel.bkbits.net:/home/davem/tg3-2.6

21 years agoMerge bk://kernel.bkbits.net/davem/net-2.6
Linus Torvalds [Tue, 25 May 2004 06:51:20 +0000 (23:51 -0700)]
Merge bk://kernel.bkbits.net/davem/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years agoMerge davem@nuts.davemloft.net:/disk1/BK/net-2.6
David S. Miller [Tue, 25 May 2004 06:37:24 +0000 (23:37 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/net-2.6
into kernel.bkbits.net:/home/davem/net-2.6

21 years ago[IPSEC]: Fix buglet in AF_KEY spddelete
Steven King [Tue, 25 May 2004 06:09:27 +0000 (23:09 -0700)]
[IPSEC]: Fix buglet in AF_KEY spddelete

When trying to spddelete individual entries using setkey, spddelete always
fails.  The culprit is in net/af_key.c; spdadd sets the family field of the
selector when creating an entry, but spddelete doesn't when building a
selector to match for xfrm_policy_bysel.  Trivial fix is to have spddelete
set the family field in the selector in same way spdadd does.

21 years ago[TG3]: Update driver version and reldate.
David S. Miller [Tue, 25 May 2004 06:06:21 +0000 (23:06 -0700)]
[TG3]: Update driver version and reldate.

21 years agoIntroduce architecture-specific "ptep_update_dirty_accessed()"
Linus Torvalds [Tue, 25 May 2004 06:04:59 +0000 (23:04 -0700)]
Introduce architecture-specific "ptep_update_dirty_accessed()"
helper function to write-back the dirty and accessed bits from
ptep_establish().

Right now this defaults to the same old "set_pte()" that we've
always done, except for x86 where we now fix the (unlikely)
race in updating accessed bits and dropping a concurrent dirty
bit.