Russell King [Fri, 16 Apr 2004 16:27:18 +0000 (17:27 +0100)]
[ARM] Add --no-undefined to linker command line.
Many binutils versions over the last year appear to silently build
assembler files with undefined constants, and able to successfully
create executables from such files. The assembler appears to add
undefined symbols to the symbol table without any corresponding
relocation information. Obviously this is bad news since the
resulting executable may not be what the programmer intended.
Work around the problem by forcing the linker to fail if there are
any undefined symbols in the final object(s).
James Bottomley [Thu, 15 Apr 2004 04:56:52 +0000 (21:56 -0700)]
[PATCH] fix non-PC subarchs which were broken by i386 probe_roms change
The author apparently didn't understand that only the mach-default
include directory is included by fallback for header files only. You
can't stick a .c file in mach-default and expect all subarchs to be able
to use it.
The correct fix is to put std_resources.c in the kernel directory and
give it its own Kconfig symbol for conditional compile so that subarchs
may choose to include it or not.
James Bottomley [Thu, 15 Apr 2004 02:20:00 +0000 (19:20 -0700)]
[PATCH] fix 4k irqstacks on x86 (and add voyager support)
There's a bug in the x86 code in that it sets the boot CPU to zero.
This isn't correct since some subarch's use physically indexed CPUs.
However, subarchs have either set the boot cpu before irq_INIT() (or
just inherited the default zero from INIT_THREAD_INFO()), so it's safe
to believe current_thread_info()->cpu about the boot cpu.
This adds IOMMU support & IOMU virtual merging to the default g5 config.
This will not impair performances of machines that don't need the iommu
(the kernel will only enable it if you have more than 2Gb of RAM, though
you can explicitely enable it using a command line argument).
[PATCH] ppc64: Fix possible duplicate MMU hash entries
The current code has a subtle race where 2 hash PTEs can be inserted
for the same virtual address for a short period of time. There should
not be a stale one as the "old" one ultimately gets flushed, but the
architecture specifies that having two hash PTE is illegal and can
result in undefined behaviour.
This patch fixes it by never clearing the _PAGE_HASHPTE bit when
doing test_and_clear_{young,dirty}. That means that subsequent faults
on those pages will have a bit more overhead to "discover" that the
hash entry was indeed evicted.
It also adds a small optisation to avoid doing the atomic operation
and the hash flush in test_and_clear_dirty when the page isn't dirty
or when setting write protect while it's already set.
Andrew Morton [Thu, 15 Apr 2004 00:03:20 +0000 (17:03 -0700)]
[PATCH] ext3: journalled quotas
From: Jan Kara <jack@ucw.cz>
Journalled quota support for ext3: The patch consists of two parts - ext3
changes and changes in generic quota code. The main idea of the changes is
that a transaction is always started before any operation which changes quota
file and dirtifying of the quota causes its write to disk. These two changes
assure that quota change is journalled into the same transaction as the file
change and hence after journal replay quota is consistent with the filesystem
state. As during journal replay inodes from orphan list are deleted/truncated
we have to do quota_on before the replay of the orphan list - this problem is
solved by additional mount options to ext3 with quota file names and format.
Some changes in generic code were also needed to assure that quota structure
in file is always allocated and so ordinary quota operations (like
adding/deleting a block/inode) need only a few blocks from the transaction.
Andrew Morton [Thu, 15 Apr 2004 00:03:05 +0000 (17:03 -0700)]
[PATCH] mq_open() and close_on_exec
From: Chris Wright <chrisw@osdl.org>
SUSv3 doesn't seem to specify one way or the other. I don't have the POSIX
specs, and the old docs I have suggest that mq_open() creates an object
which is to be closed upon exec.
Andrew Morton [Thu, 15 Apr 2004 00:02:37 +0000 (17:02 -0700)]
[PATCH] Fix mq_notify with SIGEV_NONE notification
From: Jakub Jelinek <jakub@redhat.com>
mq_notify (q, NULL)
and
struct sigevent ev = { .sigev_notify = SIGEV_NONE };
mq_notify (q, &ev)
are not the same thing in POSIX, yet the kernel treats them the same. Only
the former makes the notification available to other processes immediately,
see
I looked at mq in Solaris and they behave the same in this regard as Linux
with this patch. Kernel with this patch passes both Intel POSIX testsuite
(with testsuite fixes from Ulrich) and glibc mq testsuite.
Daniel Ritz [Wed, 14 Apr 2004 07:46:25 +0000 (00:46 -0700)]
[PATCH] yenta: interrupt routing for TI briges
Some TI cardbus bridges found in notebooks and PCI add-on cards are
uninitialized. This means the interrupt mode and the interrupt routing
is wrong in most cases, ending up in non working PCI interrupts.
This makes the TI Yenta driver probe the PCI interrupt and adjust the
interrupt setting if no interrupts are delivered. It's done in a safe
way, that doesn't hurt working setups.
Function 1 on two slot devices is handled differently from function 0
since both share the settings.
Okay, now while we are at fixing security holes, is there any chance we
can _finally_ get the attached patch in?
The Vicam USB driver in all Linux Kernels 2.6 mainline does not use the
copy_from_user function when copying data from userspace to kernel space,
which crosses security boundaries and allows local users to cause a denial
of service.
Already ACKed by Greg. Only complaint was inproper coding style which is done
with attached patch ;)
Dave Jones [Wed, 14 Apr 2004 03:21:28 +0000 (20:21 -0700)]
[PATCH] isofs buffer overflow fix
Merged in 2.4, and various vendor kernels..
iDefense reported a buffer overflow flaw in the ISO9660 filesystem code.
An attacker could create a malicious filesystem in such a way that they
could gain root privileges if that filesystem is mounted. The Common
Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name
CAN-2004-0109 to this issue.
Ernie Petrides came up with the following patch which I fixed up a slight
reject in to apply to 2.6. Otherwise, unchanged from the 2.4 patch.
Martin Lubich [Wed, 14 Apr 2004 03:04:33 +0000 (20:04 -0700)]
[PATCH] USB: Patch for Clie TH55 Support in visor kernel module
I just want to explain the changes I've made, since I tried to adhere to the
more organized structure in the 2.6 visor module to incorporate my changes.
I didn't want to pollute this with some ugly hack.
I created a new device id table with name clie_id_5_table to cleanly separate
the UX50/TH55 from the rest.
Along with this I added a new usb_serial_device_type which is essentially a
copy of handspring_device but has its own attach function.
This new attach function ( clie_5_attach ) will do the actual magic.
I think it is justified to introduce a new type ( which I called clie_5 )
since I suspect that Sony is intentionally changing the interface spec ( As
it has done so in the past ). I dare to predict that we will see more clie
devices coming this year which will require this new attachment procedure. At
the moment I am only aware of the UX50 and TH55 to implement that weird
configuration.
Hi Greg, this patch bumps the speedtouch driver's version number.
It also adds the version number to the module description, so people
can see it with modinfo. I also added a MODULE_VERSION line (why?
because it was there...) The patch is against your 2.6 kernel tree.
[PATCH] USB speedtouch: fix memory leak in error path
Hi Greg, this patch fixes a memory leak in the speedtouch driver.
The leak occurs when the ATM layer submits a skbuff for transmission,
but the driver rejects it (because the device has been unplugged for
example). The ATM layer requires the driver to free the skbuff in this
case. The patch is against your 2.6 kernel tree.
[PATCH] USB speedtouch: turn on debugging if CONFIG_USB_DEBUG is set
Hi Greg, this causes the speedtouch driver to output non-verbose
debugging messages if the kernel was configured with CONFIG_USB_DEBUG.
The patch is against your 2.6 kernel tree.
- Update defconfig
- Fix some problems in ROM resource scanning (Rene Herman)
- Initialize APIC id of CPU 0 (Venkatesh Pallipadi)
- Always enable swiotlb for GART_IOMMU
- Fix compilation without IOMMU_GART
- Remove nodes_present; use standard node_online_map instead.
This also fixes a bug with no memory on node 0.
- Switch node<->cpu mapping to arrays. This fixes some awkward
special cases with no nodes and empty nodes.
- Move K8 fallback node setup to common code
- Eliminate old fake_node.
- Fix wrong fields in MCE handling (Marc Bevand)
- Make pci_dma_consistent behave more similar to i386 to fix Alsa
Andrew Morton [Tue, 13 Apr 2004 11:49:20 +0000 (04:49 -0700)]
[PATCH] update fix for potential integer overflow in zoran driver
From: Dave Jones <davej@redhat.com>
2.4 already had this fixed, but uses a somewhat larger value to clip at.
For uniformity sake, perhaps they should be the same? Patch below makes
it match 2.4-bk
Andrew Morton [Tue, 13 Apr 2004 11:48:41 +0000 (04:48 -0700)]
[PATCH] jbd copyout fix
When I converted journal_write_metadata_buffer() to kmap_atomic() I screwed
up the handling of the copyout buffers - we're currently writing four zeroes
into the user's page rather than into the data which is to be written to the
journal (oops).
Net effect: any block which starts with 0xC03B3998 gets scribbled on in
data=journal mode.
ide_ioreg_t is deprecated and hasn't been used by IDE driver for some time.
Use unsigned long directly on alpha, arm26, arm, mips, parisc, ppc64 and sh.
asm-ia64/ide.h (ide_ioreg_t is unsigned short) and asm-m68knommu/ide.h
(broken - ide_ioreg_t is not defined) are the only users of ide_ioreg_t left.
[PATCH] ide-disk.c: workaround for bogus LBA48 drives
From: Geert Uytterhoeven <geert@linux-m68k.org>
Apparently some IDE drives (e.g. a pile of 80 GB ST380020ACE drives I have
access to) advertise to support LBA48, but don't, causing kernels that support
LBA48 (i.e. anything newer than 2.4.18, including 2.4.25 and 2.6.4) to fail on
them. Older kernels (including 2.2.20 on the Debian woody CDs) work fine.
Check for id->lba_capacity_2 being non-zero in idedisk_supports_lba48().
Don Fry [Tue, 13 Apr 2004 10:06:34 +0000 (06:06 -0400)]
[PATCH] pcnet32 fix hang/crash with loopback test
If the pcnet32 interface is not up, running the loopback test may hang or
crash the system. This patch provided by Jim Lewis fixes that problem.
Tested on ia32 and ppc systems.
[PATCH] e1000: remove polarity reversal workaround for forced 10H/10F links
Adding this caused the adapter to fail while operating at 10 mbps, half
duplex. Hence the fix is not complete. We are still investigating a more
complete fix for the polarity reversal issue.
[PATCH] e1000: fix eeprom update to include e1000_standby_eeprom
A Bug in e1000_spi_eeprom_ready where the Chip Select bit wasn't being
toggled after every status register read (if the eeprom wasn't ready after
the first status register read). The call to e1000_standby_eeprom manages
the CS bit correctly
Andrew Morton [Tue, 13 Apr 2004 02:26:22 +0000 (19:26 -0700)]
[PATCH] ppc64: Fix ibmveth.c compilation
From: Paul Mackerras <paulus@samba.org>
This patch changes PCI_DMA_TODEVICE to DMA_TO_DEVICE in a couple of
places in drivers/net/ibmveth.c, since it doesn't compile without this
change and it does compile with it. It also reformats a couple of
over-long lines in the vicinity of the other changes.
Andrew Morton [Tue, 13 Apr 2004 02:24:35 +0000 (19:24 -0700)]
[PATCH] Wrong return value in hfs_fill_super
From: Nick Wellnhofer <wellnhofer@aevum.de>
hfs_fill_super in 2.6.5 returns -EIO instead of -EINVAL if a valid supe=
block isn't found. So mount_block_root in init/do_mounts.c bails out before
trying to mount the root device as XFS.