Don Fry [Fri, 16 Apr 2004 09:01:59 +0000 (05:01 -0400)]
[PATCH] pcnet32 transmit performance fix
When the pcnet32 adapter is installed in a system with long PCI latency
and the read burst bit is not set, performance on transmission is very
low (under 20Mbit on a 100Mbit link). This patch against 2.6.6-rc1 will
make sure that read and write bursts are enabled. Tested on ppc64 and
ia32.
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).
Alexander Viro [Fri, 16 Apr 2004 07:27:54 +0000 (00:27 -0700)]
[PATCH] remount: mount flags filtering
- we could pass MS_ACTIVE in mount flags and it would be passed into
->get_sb(), leading to interesting failure modes. This flag is only
for internal use (it's set once fill_super is complete and reset
before the inode eviction on umount); made sure that we never get
tricked into having it set it too early.
Alexander Viro [Fri, 16 Apr 2004 07:27:14 +0000 (00:27 -0700)]
[PATCH] remount: fs/jffs2
- jff2->remount_fs() was buggy - it played with sb->s_flags instead of
doing modifications to *flags (->s_flags will be overwritten using
*flags right after the call of ->remount_fs()). Moreover, it tried
to do the wrong thing - it should just enforce noatime and be done
with that. Fixed, ACKed by maintainer.
Alexander Viro [Fri, 16 Apr 2004 07:26:34 +0000 (00:26 -0700)]
[PATCH] remount: fs/sysv fixes
- several variants of sysv fs are supported only r/o. Driver does
force r/o on mount, but doesn't do anything on remount. As the
result, one can remount them r/w and results are Not Pretty(tm).
Missing checks added, code cleaned up.
- we had double-brelse() in v7fs - if sanity checks on root inode will
succeed, but allocation of root dentry fails, we brelse() the same
buffer_head twice. Fixed.
The low level kernel interface to RTAS (the firmware runtime services)
was plagued with races that could cause from bogus results of RTAS
operations to total machine crashes in some circumstances. This patch
fix the ones I could identify, hoping I didn't miss any. I also added
a WARN_ON (well, it's asm equivalent) to enter_rtas to make sure we
never _ever_ try to call that with interrupts enabled.
Anton Blanchard [Thu, 15 Apr 2004 23:53:12 +0000 (16:53 -0700)]
[PATCH] ppc64: always initialise dn->type and dn->name
This fix comes from ppc32. Always initialise dn->type and dn->name so
that code doesnt have to check for NULL everywhere. There is at least
one bug report where we oopsed because of this.
Anton Blanchard [Thu, 15 Apr 2004 23:52:58 +0000 (16:52 -0700)]
[PATCH] ppc64: catch branch to 0 in real mode
We have been debugging some strange fails where we branch to 0 in real
mode. At the moment this results in the cpu running through the
initialisation code and failing somewhere well into it.
The following patch uses the featuring nop'ing code to remove the branch
at real address 0 so it falls through to a trap instruction and gets
caught early.
Adam Goode [Thu, 15 Apr 2004 23:44:35 +0000 (16:44 -0700)]
[PATCH] NMI watchdog Pentium M support
This adda nmi_watchdog=2 support to the Pentium M processor. The P-M is
a P6 chip, but it shares some chipset logic with the Pentium 4, so it
requires this workaround to function.
Without this patch, NMI gets stuck after 1 count. With it, the NMI
fires and breaks me out of UHCI-related hard lockups.
This patch is basically a modified version of the same patch for
oprofile. See the threaded discussion here:
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