]> git.hungrycats.org Git - linux/log
linux
21 years agoLinux 2.6.0-test11 v2.6.0-test11
Linus Torvalds [Wed, 26 Nov 2003 04:38:22 +0000 (20:38 -0800)]
Linux 2.6.0-test11

21 years ago[PATCH] Lastminute IEEE-1394 fixes
Ben Collins [Wed, 26 Nov 2003 04:15:46 +0000 (20:15 -0800)]
[PATCH] Lastminute IEEE-1394 fixes

I've got a lot more changes than what's included here.  I've put this
down to the bear minimum to get things working sanely.

Mainly, I just want to get all the people hit by this a chance to use
2.6.0 without having to get our tree. Changes itemized:

 - Fix deadlock possibility in csr.c:read_maps()
 - Fix kmalloc to use ATOMIC in highlevel.c.
 - s/in_interrupt/irqs_disabled/ in ieee1394_transactions.c to fix
   warnings when transactions occured.
 - Introduce a release callback for the host driver and use it correctly.
 - Reorganize the nodemgr probe so we do an initial scan to discover
   devices, check IRM/CycleMaster, then do a final full probe when things
   are kosher. Fixes a problem where device registration and hotplug
   would cause some serious problems when a bus reset was forced in the
   middle of the probe.

21 years agoMerge master.kernel.org:/home/davem/BK/sparc-2.5
Linus Torvalds [Tue, 25 Nov 2003 23:06:55 +0000 (15:06 -0800)]
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Tue, 25 Nov 2003 23:04:46 +0000 (15:04 -0800)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years agoMerge http://lia64.bkbits.net/to-linus-2.5
Linus Torvalds [Tue, 25 Nov 2003 23:02:29 +0000 (15:02 -0800)]
Merge http://lia64.bkbits.net/to-linus-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years ago[PATCH] prevent oops from read of proc entry for tty drivers
Stephen Hemminger [Tue, 25 Nov 2003 23:01:31 +0000 (15:01 -0800)]
[PATCH] prevent oops from read of proc entry for tty drivers

There are /proc handles there setup by proc_tty_register_driver, but there is
no module ownership association, so anything that reads after module unload
will blow.

The trivial fix is to propagate the owner of tty_driver to proc entry.

21 years ago[PATCH] fix smsc-ircc2.c double free
Jan Marek [Tue, 25 Nov 2003 23:00:04 +0000 (15:00 -0800)]
[PATCH] fix smsc-ircc2.c double free

This fixes a small, but important bug in smsc-ircc2.c.

Without this the driver tries release the same region twice.

21 years agoia64: Make core-dumps work even when executing in the gate DSO.
David Mosberger [Tue, 25 Nov 2003 15:26:14 +0000 (07:26 -0800)]
ia64: Make core-dumps work even when executing in the gate DSO.
      Tracked down by Rohit Seth.

21 years agoia64: Correct FIXADDR_USER_END so that single-stepping in the gate DSO works again.
David Mosberger [Tue, 25 Nov 2003 15:08:23 +0000 (07:08 -0800)]
ia64: Correct FIXADDR_USER_END so that single-stepping in the gate DSO works again.

21 years ago[IRDA]: Fix SKB leaks.
Jean Tourrilhes [Tue, 25 Nov 2003 10:53:30 +0000 (02:53 -0800)]
[IRDA]: Fix SKB leaks.

Do not special case ENOMEM as an error code, we should free up
the packet for all errors.

21 years ago[SPARC]: Fix build failures in IGA frame buffer introduced by janitor changes.
Pete Zaitcev [Tue, 25 Nov 2003 09:52:11 +0000 (01:52 -0800)]
[SPARC]: Fix build failures in IGA frame buffer introduced by janitor changes.

Most of the breakage came from cset 1.838.10.3

21 years ago[SPARC]: Add stub sched_clock() implementation.
Pete Zaitcev [Tue, 25 Nov 2003 09:49:02 +0000 (01:49 -0800)]
[SPARC]: Add stub sched_clock() implementation.

21 years ago[BRIDGE]: Fix netfilter config tests.
Bart De Schuymer [Tue, 25 Nov 2003 09:16:13 +0000 (01:16 -0800)]
[BRIDGE]: Fix netfilter config tests.

The br_netfilter_{init,fini}() calls need to be guarded by
BRIDGE_NETFILTER, from Michal Janusz Miroslaw.

21 years ago[IPV6]: Redo stateless addrconf properly.
Hideaki Yoshifuji [Tue, 25 Nov 2003 09:10:18 +0000 (01:10 -0800)]
[IPV6]: Redo stateless addrconf properly.

When bringing an interface down do not forget to clear the
IF_RS_SENT and IF_RA_RCVD flags.

21 years agoMerge bk://gkernel.bkbits.net/libata-2.5
Linus Torvalds [Tue, 25 Nov 2003 07:18:43 +0000 (23:18 -0800)]
Merge bk://gkernel.bkbits.net/libata-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years ago[PATCH] JFS: Avoid segfault when dirty inodes are written on readonly mount
Dave Kleikamp [Tue, 25 Nov 2003 05:41:19 +0000 (21:41 -0800)]
[PATCH] JFS: Avoid segfault when dirty inodes are written on readonly mount

This fixes an oops that can occur if JFS is used as the root filesystem.

Writes to a device node may cause a ->write_inode to be called during a
read-only mount.  JFS needs to check for NULL log in jfs_flush_journal.

21 years agoFix error return on concurrent fork() with threaded exit()
Linus Torvalds [Tue, 25 Nov 2003 02:46:32 +0000 (18:46 -0800)]
Fix error return on concurrent fork() with threaded exit()

21 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Mon, 24 Nov 2003 12:48:39 +0000 (04:48 -0800)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years ago[ECONET]: Do not leak SKBs if ec_queue_packet() fails.
David S. Miller [Mon, 24 Nov 2003 12:00:19 +0000 (04:00 -0800)]
[ECONET]: Do not leak SKBs if ec_queue_packet() fails.

Also, make sure NET_RX_DROP is returned if we did not accept the
packet.

21 years ago[PPPOE]: Do not leak SKB if sock_queue_rcv_skb() fails.
David S. Miller [Mon, 24 Nov 2003 11:49:48 +0000 (03:49 -0800)]
[PPPOE]: Do not leak SKB if sock_queue_rcv_skb() fails.

21 years ago[NET]: In sock_queue_rcv_skb(), do not deref skb->len after it is queued to the socket.
David S. Miller [Mon, 24 Nov 2003 11:44:51 +0000 (03:44 -0800)]
[NET]: In sock_queue_rcv_skb(), do not deref skb->len after it is queued to the socket.

In implementations that use no socket locking, such as RAW sockets,
once we queue the SKB to the socket another cpu can remove the SKB
from the socket queue and free up the SKB making the skb->len access
touch freed memory.

Based upon a report from Burton Windle, kernel bugzilla #937

21 years agoMerge bk://linux-scsi.bkbits.net/scsi-bugfixes-2.6
Linus Torvalds [Mon, 24 Nov 2003 10:56:37 +0000 (02:56 -0800)]
Merge bk://linux-scsi.bkbits.net/scsi-bugfixes-2.6
into home.osdl.org:/home/torvalds/v2.5/linux

21 years ago[libata] bump versions for core and serverworks driver
Jeff Garzik [Mon, 24 Nov 2003 06:26:26 +0000 (01:26 -0500)]
[libata] bump versions for core and serverworks driver

21 years ago[libata] Fix flush of Device Control register to device
Benjamin Herrenschmidt [Mon, 24 Nov 2003 06:19:35 +0000 (01:19 -0500)]
[libata] Fix flush of Device Control register to device

Also add some ServerWorks-specific tweaks.

21 years agoMerge redhat.com:/spare/repo/linux-2.5
Jeff Garzik [Mon, 24 Nov 2003 05:33:55 +0000 (00:33 -0500)]
Merge redhat.com:/spare/repo/linux-2.5
into redhat.com:/spare/repo/libata-2.5

21 years agoFix locking problems in scsi_report_bus_reset() causing aic7xxx to hang
James Bottomley [Mon, 24 Nov 2003 04:02:15 +0000 (22:02 -0600)]
Fix locking problems in scsi_report_bus_reset() causing aic7xxx to hang

All the users of this function in the SCSI tree call it with the host
lock held.  With the new list traversal code, it was trying to take
the lock again to traverse the list.

Fix it to use the unlocked version of list traversal and modify the
header comments to make it clear that the lock is expected to be held
on calling it.

21 years ago[IPV6]: Multicast output bypasses netfilter hooks, fix.
David Stevens [Sun, 23 Nov 2003 14:45:16 +0000 (06:45 -0800)]
[IPV6]: Multicast output bypasses netfilter hooks, fix.

Noted by Harald Welte (laforge@netfilter.org)

21 years agoLinux 2.6.0-test10 v2.6.0-test10
Linus Torvalds [Sun, 23 Nov 2003 09:25:26 +0000 (01:25 -0800)]
Linux 2.6.0-test10

21 years agoMerge bk://gkernel.bkbits.net/net-drivers-2.5
Linus Torvalds [Sun, 23 Nov 2003 01:48:24 +0000 (17:48 -0800)]
Merge bk://gkernel.bkbits.net/net-drivers-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years agoUpdated state model for SCSI devices
James Bottomley [Sat, 22 Nov 2003 12:21:22 +0000 (06:21 -0600)]
Updated state model for SCSI devices

I've been looking at enforcing lifetime phases for SCSI devices
(primarily to try to get the mid layer to offload as much of the device
creation and hotplug pieces as it can).

I've hijacked the sdev_state field of the struct scsi_device (formerly
this was a bitmap, now it becomes an enumerated state).

I've also begun adding references sdev_gendev into the code to pin the
scsi_device---initially in the queue function, but possibly this should
also be done in the scsi_command_get/put, the idea being to prevent
scsi_device freeing while there's still device activity.

The object phases I identified are:

1. SDEV_CREATED - we've just allocated the device.  It may respond to
internally generated commands, but not to user ones (the user should
actually have no way to access a device in this state, but just in
case).

2. SDEV_RUNNING - the device is fully operational

3. SDEV_CANCEL - The device is cleanly shutting down.  It may respond to
internally generated commands (for cancellation/recovery) only; all user
commands are errored unless they have already been queued (QUEUE_FULL
handling and the like).

4. SDEV_DEL - The device is gone. *all* commands are errored out.

Ordinarily, the device should move through all four phases from creation
to destruction, but moving SDEV_RUNNING->SDEV_DEL because of surprise
ejection should work.

It's starting to look like the online flag should be absorbed into this
(offlined devices move essentially to SDEV_CANCEL and could be
reactivated by moving to SDEV_RUNNING).

I haven't altered the similar bitmap model that scsi_host has, although
this too should probably move to an enumerated state model.

I've tested this by physically yanking a module out from underneath a
running filesystem with no ill effects (other than a slew of I/O
errors).

The obvious problem is that this kills possible user error handling, but
we don't do any of that yet.

21 years agoMerge redhat.com:/spare/repo/linux-2.5
Jeff Garzik [Sat, 22 Nov 2003 09:21:09 +0000 (04:21 -0500)]
Merge redhat.com:/spare/repo/linux-2.5
into redhat.com:/spare/repo/libata-2.5

21 years ago[PATCH] scsi device ref count (update)
Mike Anderson [Sat, 22 Nov 2003 03:13:02 +0000 (21:13 -0600)]
[PATCH] scsi device ref count (update)

This patch is against scsi-bugfixes-2.6. I updated it based on comments
received. It breaks up the reference count initialization for scsi_device
and restores calling slave_destroy for all scsi_devices configured or
not. I ran a small regression using the scsi_debug, aic7xxx, and qla2xxx
driver. I also had a debug patch for more verbose kobject cleanup and
patch for a badness check on atomic_dec going negative (previously
provided by Linus).

The object cleanup appears to being functioning correctly. I only saw
previously reported badness output:
- Synchronizing SCSI cache fails on cleanup.
- scsi_debug.c missing release (I believe Doug posted a patch)
- aic7xxx warnings on rmmod due to ahc_platform_free calling
  scsi_remove_host with ahc_list_lock held.

This patch splits the scsi device struct device register into init and
add. It also addresses memory leak issues of not calling slave_destroy
on scsi_devices that are not configured in.

Details:
* Make scsi_device_dev_release extern for scsi_scan to use in
alloc_sdev.
* Move scsi_free_sdev code to scsi_device_dev_release. Have
previous callers of scsi_free_sdev call slave_destroy plus put_device.
* Changed name of scsi_device_register to scsi_sysfs_add_sdev to
match host call and align with split struct device init.
* Move sdev_gendev device and class init to scsi_alloc_sdev.

Thu Nov 20 22:56:11 PST 2003

 drivers/scsi/scsi_priv.h  |    4 +-
 drivers/scsi/scsi_scan.c  |   63 +++++++++++++++++++++-------------------------
 drivers/scsi/scsi_sysfs.c |   58 ++++++++++++++++++++++--------------------
 3 files changed, 62 insertions(+), 63 deletions(-)

21 years ago[PATCH] More SiS interrupt routing
Davide Libenzi [Sat, 22 Nov 2003 00:39:48 +0000 (16:39 -0800)]
[PATCH] More SiS interrupt routing

It turns out that the SiS irq routing logic doesn't go by chipset
after all - it's just that some pirq entries are "legacy" numbers,
while others are raw offsets into PCI config space (and the legacy
numbers are more commonly used with the older chipsets, which
explains the correlations).

This simplifies the router code substantially.

21 years ago[PATCH] reserve resources specified by the PnPBIOS properly
Adam Belay [Fri, 21 Nov 2003 11:36:07 +0000 (03:36 -0800)]
[PATCH] reserve resources specified by the PnPBIOS properly

A bug prevents the PnP layer from reserving some of the resources
specified by the PnPBIOS.  As a result some systems will have
unpredicable (random crashes etc.) problems because of resource
conflicts, especially when PCMCIA support is enabled.  This patch
fixes the problem by ensuring that the proper resource data is
reserved.

21 years agoMerge master.kernel.org:/home/davem/BK/sparc-2.5
Linus Torvalds [Fri, 21 Nov 2003 11:13:20 +0000 (03:13 -0800)]
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years agoMerge nuts.ninka.net:/disk1/davem/BK/sparcwork-2.5
David S. Miller [Fri, 21 Nov 2003 10:38:40 +0000 (02:38 -0800)]
Merge nuts.ninka.net:/disk1/davem/BK/sparcwork-2.5
into nuts.ninka.net:/disk1/davem/BK/sparc-2.5

21 years ago[IPV6]: Fix header length calculation in multicast input.
David Stevens [Fri, 21 Nov 2003 08:49:32 +0000 (00:49 -0800)]
[IPV6]: Fix header length calculation in multicast input.

It did not account for extension headers properly.  If we get
this length wrong, we do not determine if a multicast packet
is MLDv1 vs. MLDv2 correctly.

21 years agoMerge nuts.ninka.net:/disk1/davem/BK/network-2.5
David S. Miller [Fri, 21 Nov 2003 08:44:51 +0000 (00:44 -0800)]
Merge nuts.ninka.net:/disk1/davem/BK/network-2.5
into nuts.ninka.net:/disk1/davem/BK/net-2.5

21 years agoWork around binutils bug.
Linus Torvalds [Fri, 21 Nov 2003 07:35:57 +0000 (23:35 -0800)]
Work around binutils bug.

This caused the system call code to test for the wrong number of
system calls, with resulting exciting results.

21 years agoLimit USB storage transfers to 240 sectors.
Linus Torvalds [Fri, 21 Nov 2003 07:34:19 +0000 (23:34 -0800)]
Limit USB storage transfers to 240 sectors.

21 years agoMerge bk://linux-scsi.bkbits.net/scsi-bugfixes-2.6
Linus Torvalds [Fri, 21 Nov 2003 06:33:34 +0000 (22:33 -0800)]
Merge bk://linux-scsi.bkbits.net/scsi-bugfixes-2.6
into home.osdl.org:/home/torvalds/v2.5/linux

21 years agoMerge http://lia64.bkbits.net/to-linus-2.5
Linus Torvalds [Fri, 21 Nov 2003 06:31:30 +0000 (22:31 -0800)]
Merge http://lia64.bkbits.net/to-linus-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years agoia64: Drop printk from ia64_ni_syscall(). This is a temporary fix
David Mosberger [Fri, 21 Nov 2003 06:10:39 +0000 (22:10 -0800)]
ia64: Drop printk from ia64_ni_syscall().  This is a temporary fix
for 2.6.0.  The proper fix is to replace ia64_ni_syscall with
sys_ni_syscall, but that would make the patch quite large, so
we defer that till 2.6.1.

21 years agoia64: From Linus/Paulus: reset restart_block function in
David Mosberger [Fri, 21 Nov 2003 06:08:13 +0000 (22:08 -0800)]
ia64: From Linus/Paulus: reset restart_block function in
restore_sigcontext().  Also update ia32 subsystem accordingly.

21 years agoia64: Fix off-by-1 error in imm60 patching. The bug hasn't been observed
David Mosberger [Fri, 21 Nov 2003 05:25:04 +0000 (21:25 -0800)]
ia64: Fix off-by-1 error in imm60 patching.  The bug hasn't been observed
in practice, but it's clearly wrong and just waiting there to
get triggered...

21 years ago[netdrvr sis190] fix oopsable bug in TX path, related to skb_padto return
Jeff Garzik [Thu, 20 Nov 2003 09:46:23 +0000 (04:46 -0500)]
[netdrvr sis190] fix oopsable bug in TX path, related to skb_padto return

Caught by Francois Romieu.

21 years ago[IPV6]: In igmp6_group_queried, fix address check to comply with RFC2710.
David Stevens [Thu, 20 Nov 2003 08:34:18 +0000 (00:34 -0800)]
[IPV6]: In igmp6_group_queried, fix address check to comply with RFC2710.

RFC2710 says:
1) MLD messages are never sent for multicast addresses whose scope is 0
   (reserved) or 1 (node-local).
2) MLD messages ARE sent for multicast addresses whose scope is 2
   (link-local), including Solicited-Node multicast addersses [ADDR-ARCH],
   except for the link-scope, all-nodes address (FF02::1).

      The current MLDv1 code does not send reports for link-scope addresses
and doesn't restrict scope 0. This may break switches that snoop reports for
determining which ports should receive particular addresses.  Patch below.

21 years agoMerge nuts.ninka.net:/disk1/davem/BK/network-2.5
David S. Miller [Thu, 20 Nov 2003 08:10:52 +0000 (00:10 -0800)]
Merge nuts.ninka.net:/disk1/davem/BK/network-2.5
into nuts.ninka.net:/disk1/davem/BK/net-2.5

21 years ago[netdrvr tg3] fix BCM5705 pending-RX count (was 64, now 63)
Herbert Xu [Thu, 20 Nov 2003 07:46:10 +0000 (02:46 -0500)]
[netdrvr tg3] fix BCM5705 pending-RX count (was 64, now 63)

21 years agoMerge nuts.ninka.net:/disk1/davem/BK/sparcwork-2.5
David S. Miller [Thu, 20 Nov 2003 07:08:44 +0000 (23:08 -0800)]
Merge nuts.ninka.net:/disk1/davem/BK/sparcwork-2.5
into nuts.ninka.net:/disk1/davem/BK/sparc-2.5

21 years ago[PATCH] [bonding 2.6] fix creation of /proc/net/bonding dir
Amir Noam [Thu, 20 Nov 2003 07:08:09 +0000 (02:08 -0500)]
[PATCH] [bonding 2.6] fix creation of /proc/net/bonding dir

Fix the creation of the /proc/net/bonding dir.
Patch is against 2.6.

Amir

21 years ago[PATCH] [bonding 2.6] Restore missing backward compatibility
Amir Noam [Thu, 20 Nov 2003 07:08:02 +0000 (02:08 -0500)]
[PATCH] [bonding 2.6] Restore missing backward compatibility

This patch (against latest 2.6.0) is also waiting for almost a month.
It's already in 2.4 but is still very much needed for 2.6.

Old ifenslave versions (like the one in Red Hat 9) don't work with
the bonding module in the latest 2.6 kernel without it.

Amir

21 years ago[IPV4]: igmp.c needs linux/times.h
David S. Miller [Wed, 19 Nov 2003 13:03:02 +0000 (05:03 -0800)]
[IPV4]: igmp.c needs linux/times.h

21 years ago[SPARC64]: Get PCI floppies fully functional again.
David S. Miller [Wed, 19 Nov 2003 12:50:27 +0000 (04:50 -0800)]
[SPARC64]: Get PCI floppies fully functional again.

EBUS DMA fixes:
- Add EBUS_DMA_FLAG_TCI_DISABLE that the client can set if it
  wants only to hear device interrupts, not DMA complete ones.
- When initially resetting the EBUS DMA unit, put valid burst etc.
  encodings in the CSR register.  Not doing this appears to leave
  the attached ISA device in a weird state.

PCI FLOPPY fixes:
- Do ebus_dma_enable() before ebus_dma_request()
- In sun_pci_fd_set_dma_mode() do not forget to set the direction.
- Set EBUS_DMA_FLAG_TCI_DISABLE in ebus_dma flags.
- Make sure that in error paths sun_fdc/FCD1 will be -1 (invalid).

Thanks to Soyoung Park for loaning her Ultra5 to me so I could fix this.

21 years ago[SPARC]: Add missing symbol exports, this is fallout from kernel/ksyms.c being nuked.
Thomas Habets [Wed, 19 Nov 2003 10:49:17 +0000 (02:49 -0800)]
[SPARC]: Add missing symbol exports, this is fallout from kernel/ksyms.c being nuked.

21 years ago[IPV4]: Fix jiffies procfs output in multicast code.
Hideaki Yoshifuji [Wed, 19 Nov 2003 10:32:42 +0000 (02:32 -0800)]
[IPV4]: Fix jiffies procfs output in multicast code.

21 years ago[IPV6]: Fix jiffies procfs output in multicast code.
David Stevens [Wed, 19 Nov 2003 10:31:42 +0000 (02:31 -0800)]
[IPV6]: Fix jiffies procfs output in multicast code.

21 years ago[IPV6]: In multicast code, set MAF_TIMER_RUNNING when timer is set.
David Stevens [Wed, 19 Nov 2003 10:29:14 +0000 (02:29 -0800)]
[IPV6]: In multicast code, set MAF_TIMER_RUNNING when timer is set.

21 years ago[SPARC]: Port over cset 1.1459 x86 gettimeofday fix.
David S. Miller [Wed, 19 Nov 2003 09:30:27 +0000 (01:30 -0800)]
[SPARC]: Port over cset 1.1459 x86 gettimeofday fix.

21 years ago[PATCH] fix scsi_report_lun_scan bug
Andrew Morton [Wed, 19 Nov 2003 05:04:07 +0000 (23:04 -0600)]
[PATCH] fix scsi_report_lun_scan bug

Original report and bug fix from: Amit Patel <patelamitv@yahoo.com>

The problem was a signed vs unsigned char problem when computing luns
for scanning.

21 years ago[PATCH] disallow modular BINFMT_ELF
Andrew Morton [Tue, 18 Nov 2003 16:16:58 +0000 (08:16 -0800)]
[PATCH] disallow modular BINFMT_ELF

From: Adrian Bunk <bunk@fs.tum.de>

Modular BINFMT_ELF doesn't build, and is pretty pathological anyway.

So just make it a boolean rather than a tristate.

21 years ago[PATCH] mpparse printk fix
Andrew Morton [Tue, 18 Nov 2003 16:16:51 +0000 (08:16 -0800)]
[PATCH] mpparse printk fix

From: Herbert Xu <herbert@gondor.apana.org.au>

The recent patch produces a message with no terminating newline on the
machine in question.  This is because one of the four bytes that you're
printing out is NUL.  The following patch avoids that problem.

21 years ago[PATCH] resource.c bounds checking fix
Andrew Morton [Tue, 18 Nov 2003 16:16:42 +0000 (08:16 -0800)]
[PATCH] resource.c bounds checking fix

From: Jeremy Higdon <jeremy@classic.engr.sgi.com>

I believe there is a bug in kernel/resource.c.

We (SGI sn2 I/O code) are using this for allocating dma map resources, and
we tracked failures we were seeing to find_resource().

The problem is that when testing bounds in the forever loop, the end bound
would be one higher than it should be if it gets set from another resource
(it's set to the proper value when it gets set from the root), causing
find_resource to return an invalid min/max when the requested size was one
greater than would fit between two existing resources.

21 years ago[PATCH] fs/ext[23]/xattr.c pointer arithmetic fix
Andrew Morton [Tue, 18 Nov 2003 16:16:33 +0000 (08:16 -0800)]
[PATCH] fs/ext[23]/xattr.c pointer arithmetic fix

From: Andreas Gruenbacher <agruen@suse.de>

64-bit pointer arithmetic bug in xattr code

The int offset is not enought to hold the difference between arbitraty
pointers on 64-bit machines.  Compute the offset of here and last inside
HDR(bh) instead.

21 years ago[PATCH] cpu_sibling_map fix
Andrew Morton [Tue, 18 Nov 2003 16:16:24 +0000 (08:16 -0800)]
[PATCH] cpu_sibling_map fix

From: James Cleverdon <jamesclv@us.ibm.com>

On summit-based machines the cpu_sibling_map data has been hosed for some
time.  I found out why in Intel's IA-32 Software Deveveopers' Manual Vol 2
under CPUID.  Looks like the value that cpuid returns is the one latched at
reset, and doesn't reflect any changes made by the BIOS later:

  * Local APIC ID (high byte of EBX)--this number is the 8-bit ID that
    is assigned to the local APIC on the processor during power up.  This
    field was introduced in the Pentium 4 processor.

Also, the code in init_intel was a bit overdesigned.  Until Intel releases
a chip with a non-power-of-2 sibling count on it, there's no point in all
that bit bashing.

21 years ago[PATCH] init.h needs to include compiler.h
Andrew Morton [Tue, 18 Nov 2003 16:16:16 +0000 (08:16 -0800)]
[PATCH] init.h needs to include compiler.h

From: Jun Sun <jsun@mvista.com>

It is needed for all those "__attribute_used__" etc to be valid.

Also, it seems that when compiling a file ending in ".S", gcc-2.95.3 does not
expand __GNUC__ at all.  This causes the compiler version check to fail when
building vsyscall.S.  So add __ASSEMBLY__ wrappers in there.

21 years ago[PATCH] ext2 block allocator fixes
Andrew Morton [Tue, 18 Nov 2003 16:16:07 +0000 (08:16 -0800)]
[PATCH] ext2 block allocator fixes

Fix a couple of problems which were introduced by a recent race fix in the
ext2 block allocator:

- if the allocation attempt raced, and lost the race then a new attempt is
  made.  But the earlier reservation must be put back first.

  Add a call to group_release_blocks() to fix this.

- if the filesystem is genuinely corrupted then the code as-is can get
  stuck in an infinite loop, thinking that a blockgroup has free blocks and
  then discovering that its bitmap is full.

  Fix this by baling out after having scanned all blockgroups twice.

  (Thanks Muli Ben-Yehuda <mulix@mulix.org> for spotting this).

21 years ago[PATCH] ext3_new_inode fixlet
Andrew Morton [Tue, 18 Nov 2003 16:15:53 +0000 (08:15 -0800)]
[PATCH] ext3_new_inode fixlet

From: Alex Tomas <alex@clusterfs.com>

If the ext3 inode allocator tries to claim an inode and fails because
another CPU got in there first it will then advance onto the next
blockgroup and try again.

Change it to advance onto the next inode within the same blockgroup
instead.

21 years ago[PATCH] ide-scsi: warn when used for cdroms
Andrew Morton [Tue, 18 Nov 2003 16:15:43 +0000 (08:15 -0800)]
[PATCH] ide-scsi: warn when used for cdroms

From: Jens Axboe <axboe@suse.de>

Print a runtime warning if ide-scsi is used on a cd device.

Modify the ide-scsi menuconfig help to reflect that ide-scsi should
not be used for cd burning.

21 years ago[PATCH] fix percpu_counter_mod linkage problem
Andrew Morton [Tue, 18 Nov 2003 16:15:35 +0000 (08:15 -0800)]
[PATCH] fix percpu_counter_mod linkage problem

If both ext2 and ext3 are built as modules there is nothing to pull
percpu_counter_mod() into the kernel build and the ext2 and ext3 modules do
not load.

So move percpu_counter_mod() out of lib.a.

21 years ago[PATCH] remove ext2_reserve_inode()
Andrew Morton [Tue, 18 Nov 2003 16:15:24 +0000 (08:15 -0800)]
[PATCH] remove ext2_reserve_inode()

It now has no callers.

21 years ago[PATCH] Fix bugs in ext2_new_inode()
Andrew Morton [Tue, 18 Nov 2003 16:15:17 +0000 (08:15 -0800)]
[PATCH] Fix bugs in ext2_new_inode()

From: Mingming Cao <cmm@us.ibm.com>

I found several bugs/issues in the ext2_new_inode() code:

1) The for loop variable "i" is used to save the inode offset.  In the
   case of failure, the loop variable could be crapped.  So it is possible
   to quit searching before looking at every block groups.

2) The number of free inodes in the selected group is possibly being
   miscalculated.  The counter is only decreased in the find_group_xx()
   functions for the initial selected group.  If the initial try failed,
   and succeed in finding a free inode in other group, the counter for that
   group will not to be decreased.

3) In case of the concurrent case, going back to find_group_xx()
   functions are unnecessary, it will only get the same group as before.

The following patch fixed those issues.  Ideas are stolen from
ext3_new_inode().

21 years ago[PATCH] ia32: hugetlb needs pse
Andrew Morton [Tue, 18 Nov 2003 16:15:08 +0000 (08:15 -0800)]
[PATCH] ia32: hugetlb needs pse

From: Zwane Mwaikambo <zwane@arm.linux.org.uk>

If the CPU doesn't support PSE we cannot use hugetlb pages.

21 years ago[PATCH] reiserfs pinned buffer fix
Andrew Morton [Tue, 18 Nov 2003 16:15:00 +0000 (08:15 -0800)]
[PATCH] reiserfs pinned buffer fix

From: Oleg Drokin <green@linuxhacker.ru>

reiserfs shouldn't be holding a ref against a buffer when running
set_blocksize(): it means that truncate_inode_pages() cannot free that page.

Which is not fatal - the page will drift aimlessly down the LRU until the VM
nails it.   But it's better this way.

21 years ago[PATCH] sched_clock() fix
Andrew Morton [Tue, 18 Nov 2003 16:14:51 +0000 (08:14 -0800)]
[PATCH] sched_clock() fix

From: Thomas Schlicter

sched_clock() will try to use the TSC even if the system is not using the TSC
as a time source.  It causes bad scheduling decisions and poor interactivity.

The problem was exhibited by the patch which uses ACPI PM as a time source,
but could also happen if the system is using the PIT.

21 years ago[PATCH] gettimeofday resolution fix
Andrew Morton [Tue, 18 Nov 2003 16:14:43 +0000 (08:14 -0800)]
[PATCH] gettimeofday resolution fix

From: Stephen Hemminger <shemminger@osdl.org>

The original problem all this is solving is that when NTP is slowing the clock
there existed real cases where time appeared to go backwards. Assuming NTP was
slowing the clock, then it would update the xtime by 999us at the next timer interrupt.
If a program read time three times:

A:     xtime = t0
B: A+1000   xtime = t0 + 1000
C: B+1     xtime = t0 + 999

To behave correctly C > B > A; but we were returning C < B

The code does have bug if we are losing clock interrupts.  The test for
lost interrupts needs to be after the interval clamp.

21 years ago[PATCH] videobuf_waiton race fix
Andrew Morton [Tue, 18 Nov 2003 16:14:33 +0000 (08:14 -0800)]
[PATCH] videobuf_waiton race fix

There's a window in this function where a wakeup can get lost.

21 years ago[PATCH] gcc bug workaround for constant_test_bit()
Andrew Morton [Tue, 18 Nov 2003 16:14:25 +0000 (08:14 -0800)]
[PATCH] gcc bug workaround for constant_test_bit()

From: Zwane Mwaikambo <zwane@arm.linux.org.uk>

gcc-3.2.2-5 miscompiles constant_test_bit().  Tweak it so the compiler gets
it right.  It cleans it up too!

21 years agoMerge master.kernel.org:/home/davem/BK/net-2.5
Linus Torvalds [Tue, 18 Nov 2003 15:27:07 +0000 (07:27 -0800)]
Merge master.kernel.org:/home/davem/BK/net-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years agoMerge master.kernel.org:/home/davem/BK/compat-statfs64-2.5
Linus Torvalds [Tue, 18 Nov 2003 15:25:01 +0000 (07:25 -0800)]
Merge master.kernel.org:/home/davem/BK/compat-statfs64-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years ago[PATCH] Fix scsi_report_lun_scan sign bug
Andrew Morton [Tue, 18 Nov 2003 10:09:47 +0000 (02:09 -0800)]
[PATCH] Fix scsi_report_lun_scan sign bug

We need to make the scan data unsigned, since we do

  length = ((data[0] << 24) | (data[1] << 16) |
    (data[2] << 8) | (data[3] << 0));

and if data[3] is 0xff, this expression will always evaluate to
0xffffffff.  etcetera.

21 years agoMerge davem@nuts.ninka.net:/disk1/davem/BK/net-2.5
David S. Miller [Tue, 18 Nov 2003 09:58:52 +0000 (01:58 -0800)]
Merge davem@nuts.ninka.net:/disk1/davem/BK/net-2.5
into hera.kernel.org:/home/davem/BK/net-2.5

21 years ago[IPV6]: Fix milliseconds to jiffies conversion in multicast code.
David Stevens [Tue, 18 Nov 2003 09:53:45 +0000 (01:53 -0800)]
[IPV6]: Fix milliseconds to jiffies conversion in multicast code.

21 years ago[NET SCHED]: Fix queue limits in multiple qdiscs.
Patrick McHardy [Tue, 18 Nov 2003 09:37:45 +0000 (01:37 -0800)]
[NET SCHED]: Fix queue limits in multiple qdiscs.

21 years ago[NET SCHED]: Reset q.qlen in tbf_reset instead of purging an unused queue.
Patrick McHardy [Tue, 18 Nov 2003 09:29:06 +0000 (01:29 -0800)]
[NET SCHED]: Reset q.qlen in tbf_reset instead of purging an unused queue.

Problem introduced by cset 1.1046.1.318

21 years ago[NET SCHED]: Adjust qlen when grafting in multiple qdiscs
Patrick McHardy [Tue, 18 Nov 2003 09:23:37 +0000 (01:23 -0800)]
[NET SCHED]: Adjust qlen when grafting in multiple qdiscs

21 years ago[IPV4]: Always set hoplimit metric, even for non-unicast routes.
Herbert Xu [Tue, 18 Nov 2003 09:11:02 +0000 (01:11 -0800)]
[IPV4]: Always set hoplimit metric, even for non-unicast routes.

21 years ago[PATCH] PPC64: Fix possible race in syscall restart
Paul Mackerras [Tue, 18 Nov 2003 08:12:15 +0000 (00:12 -0800)]
[PATCH] PPC64: Fix possible race in syscall restart

This is the PPC64 counterpart of the fix for the potential race in the
syscall restart code that has gone into other architectures.  It resets
current_thread_info()->restart_block.fn to do_no_syscall_restart in
the sigreturn code.

21 years agoMerge master.kernel.org:/home/davem/BK/sparc-2.5
Linus Torvalds [Mon, 17 Nov 2003 13:41:17 +0000 (05:41 -0800)]
Merge master.kernel.org:/home/davem/BK/sparc-2.5
into home.osdl.org:/home/torvalds/v2.5/linux

21 years ago[IPV6]: Verify nlmsg_len in rt6_dump_route().
Ville Nuorvala [Mon, 17 Nov 2003 10:56:12 +0000 (02:56 -0800)]
[IPV6]: Verify nlmsg_len in rt6_dump_route().

21 years ago[IPV6]: Fix UDP socket selection for multicast.
David Stevens [Mon, 17 Nov 2003 10:44:09 +0000 (02:44 -0800)]
[IPV6]: Fix UDP socket selection for multicast.

When binding to two different multicast addresses on the same UDP
port, a copy sent to either multicast address is delivered to both.

21 years agoMerge nuts.ninka.net:/disk1/davem/BK/network-2.5
David S. Miller [Mon, 17 Nov 2003 10:36:27 +0000 (02:36 -0800)]
Merge nuts.ninka.net:/disk1/davem/BK/network-2.5
into nuts.ninka.net:/disk1/davem/BK/net-2.5

21 years ago[SPARC]: Do not provide VGA_CONSOLE for sparc builds.
David S. Miller [Mon, 17 Nov 2003 10:28:14 +0000 (02:28 -0800)]
[SPARC]: Do not provide VGA_CONSOLE for sparc builds.

While here, fix the existing conditional.  The || should be an && as
all config options mentioned should prevent VGA_CONSOLE from being
offered.

21 years ago[SPARC]: Update to changeset 1.1445 version of signal fix.
David S. Miller [Mon, 17 Nov 2003 10:13:00 +0000 (02:13 -0800)]
[SPARC]: Update to changeset 1.1445 version of signal fix.

21 years agoAdd missing .module initialisation to lasi700 and sim710
James Bottomley [Mon, 17 Nov 2003 07:14:38 +0000 (01:14 -0600)]
Add missing .module initialisation to lasi700 and sim710

This bug prevents their module refcounts being increased by opending upper layer drivers
Thus they can be removed at any time and panic the system.

21 years ago[PATCH] Off-by-one bug in user page calculations for Direct I/O
Alan Stern [Mon, 17 Nov 2003 03:06:25 +0000 (21:06 -0600)]
[PATCH] Off-by-one bug in user page calculations for Direct I/O

On Sun, 16 Nov 2003, Kai Makisara wrote:
> On Sun, 16 Nov 2003, Alan Stern wrote:
>
> > The page count calculations in drivers/scsi/st.c (and copied in sg.c) are
> > wrong.  The code says:
> >
> >  nr_pages = ((uaddr & ~PAGE_MASK) + count - 1 + ~PAGE_MASK) >>
> >  PAGE_SHIFT;
> >
> > That will compute an incorrect value if the user's buffer happens to end
> > on the first byte of a new page.  Example:  Suppose uaddr starts right on
>
> Your analysis is correct and this is a bug. Could you send the fix to
> James Bottomley for inclusion into the scsi-bugfixes-2.6 bk tree (at least
> the st part).
>
> Thanks for noticing the bug.
>
>  Kai
>
> P.S. I usually write these ((base ~ mask) + count + PAGE_SIZE - 1) >>
> PAGE_SHIFT. I don't know why I did it like this here. One should never try
> to be clever and do something in a new way or copy something that does not
> match one's own standard ways of doing things ;-)

On Mon, 17 Nov 2003, Douglas Gilbert wrote:
> Alan,
> ... and the sg part as well ..
>
> > Thanks for noticing the bug.
>
> dito
>
> Doug Gilbert

21 years ago[PATCH] Fix bootmem breakage on ARM
Jesse Barnes [Mon, 17 Nov 2003 02:10:13 +0000 (18:10 -0800)]
[PATCH] Fix bootmem breakage on ARM

Russell King reports:
 "With previous kernels, the nodes are added to the list in reverse order,
  so architecture code knew we had to add the highest PFN first and the
  lowest PFN node last.

  Unfortunately, init_bootmem_core() now sorts the nodes according to
  their start pfn. This active sorting broke ARM discontig memory support."

Andrew Morton chimes in:
 "It looks to be bogus on ia64 as well, for which the patch was written"

Yep, I think it is bogus.  There's only one caller on ia64 that would be
affected--swiotlb_init(), and afaik multi-node systems won't be using
that code (except maybe NEC?), so even if the pgdat list is out of order
we should be ok.  If not I'll fix the ia64 discontig code.

21 years ago[PATCH] Fix double module_put in lockd
Herbert Xu [Mon, 17 Nov 2003 00:25:02 +0000 (16:25 -0800)]
[PATCH] Fix double module_put in lockd

kernel_thread() returns the pid if successful, so the test for
errors is to test for _negative_ values.

21 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-rmk
Linus Torvalds [Sun, 16 Nov 2003 07:47:51 +0000 (23:47 -0800)]
Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk
into home.osdl.org:/home/torvalds/v2.5/linux

21 years ago[netdrvr tulip] fix hashed setup frame code
Prasanna Meda [Sun, 16 Nov 2003 13:05:16 +0000 (08:05 -0500)]
[netdrvr tulip] fix hashed setup frame code

It is using local variable `i' in both the inner and outer loop.

Need to bring the for loop outside the loop.  Otherwise we need to reset the
setup_frame to tp->setup_frame after every loop.  You do not need to set the
setup_frm for every mc address, we can set once after the complete has_table
is ready.