Andrew Morton [Wed, 22 Oct 2003 01:18:59 +0000 (18:18 -0700)]
[PATCH] fix split_vma vs. invalidate_mmap_range_list race
From: "V. Rajesh" <vrajesh@eecs.umich.edu>
If a vma is already present in an i_mmap list of a mapping,
then it is racy to update the vm_start, vm_end, and vm_pgoff
members of the vma without holding the mapping's i_shared_sem.
This is because the updates can race with invalidate_mmap_range_list.
I audited all the places that assign vm_start, vm_end, and vm_pgoff.
AFAIK, the following is the list of questionable places:
1) This patch fixes the racy split_vma. Kernel 2.4 does the
right thing, but the following changesets introduced a race.
James Cleverdon [Tue, 21 Oct 2003 14:27:58 +0000 (07:27 -0700)]
[PATCH] Allow more APIC irq sources
The "irq_vector[]" array is indexed by the sum of all RTEs in all I/O
APICs, and is not necessarily limited by the x86 CPU irq vector inputs.
In fact, the irq vector index would overflow on big machines with lots
of IO APIC's, causing the boot to fail.
So grow the array for the big SMP boxes, keeping the default the same as
before (and shrink the vector entry size down to a 8-bit value, since
that's the size of the actual CPU vector entry).
Jeff Garzik [Tue, 21 Oct 2003 15:25:04 +0000 (11:25 -0400)]
[libata] Merge Serial ATA core, and drivers for:
Intel ICH5 (production)
ServerWorks / Apple K2 (beta)
VIA (beta)
Silicon Image 3112 (broken!)
Various Promise (alpha/beta)
Michael Hunold [Tue, 21 Oct 2003 00:55:40 +0000 (17:55 -0700)]
[PATCH] Fix bugs in various DVB drivers
- DVB networking uses big endian crc32, so change all occurences of
crc32_le to crc32_be
- fix usage of firmware location Kconfig option in tda1004x frontend
driver
- add missing VBI line decoding initialization to saa7113 code for
av7110 driver
- make av7110 firmware static and *not* __initdata, so recover_arm()
can work in case the driver is compiled in statically
Alexander Viro [Mon, 20 Oct 2003 14:34:10 +0000 (07:34 -0700)]
[PATCH] Fix initrd with devfs enabled
This fixes initrd with devfs. With that combination the late-boot code
does temporary mount of devfs over rootfs /dev, which made /dev/initrd
inaccessible. For setups without devfs that didn't happen.
The fix is trivial - put the file in question outside of /dev; IOW,
we simply replace "/dev/initrd" with "/initrd.image" in init/*.
Neil Brown [Mon, 20 Oct 2003 09:55:32 +0000 (02:55 -0700)]
[PATCH] md - Use sector rather than block numbers when splitting raid0 requests.
When raid0 needs to split a request, it uses 'block' (1K) addresses
rather than sector (512b) addresses, which causes problems if the sector
address is odd. This patch fixes the problem.
[PATCH] fix drivers/ide/pci/siimage.c for PROC_FS=n
From: "Noah J. Misch" <noah@caltech.edu>
The Silicon Image driver is not building properly when CONFIG_PROC_FS is unset.
This patch corrects that problem. It appears as though several utility
functions at the top of drivers/ide/pci/siimage.c that the driver always needs
accidentally fell within an #ifdef CONFIG_PROC_FS. I also removed an excess
include while I noticed it.
Arun Sharma [Mon, 20 Oct 2003 09:20:38 +0000 (02:20 -0700)]
[PATCH] ia64: make strace of ia32 processes work again
Newer versions of strace manipulate the syscall arguments and to make this
work for ia32 processes, we need to reload the syscall args after
doing the syscall-trace callback.
Jesse Barnes [Mon, 20 Oct 2003 09:05:49 +0000 (02:05 -0700)]
[PATCH] ia64: zero out topology related sysfs nodes
Tony pointed out (thanks Tony) that in -test8 kobject_set_name() will
try to free a kobject's k_name field if it's non-NULL, so we need to
zero it out in case kmalloc() gave us recycled memory or we'll try to
kfree a bogus area.
There's a hole at 0xa0000-0xc0000, so we should ignore all the WB memory
in that granule. With 16MB granules, the existing code trims like this
(note the 4K page at 0x0 should have been ignored, but wasn't).
They were added by Torben to workaround ServerWorks driver problems
(fixed by previous patch), but depending on BIOS can be dangerous on
other chipsets and it is always better to fix specific driver.
If PIO mode should be auto-tuned xferspeed argument for svwks_tune_chipset()
is equal to 255 (0xFF). It is then passed to ide_rate_filter() which matches
desired mode with chipset capabilities. Since 255 is greater than any of the
values used for transfer modes, ide_rate_filter() will always return the
highest mode supported by both device/chipset (which sometimes should not be
used ie. when host is a simplex one) and the wrong mode will be set.
Thanks to Torben Mathiasen and Tomas Szepe for testing it.
George G. Davis [Thu, 16 Oct 2003 21:32:23 +0000 (22:32 +0100)]
[ARM PATCH] 1684/1: Add uImage build target rule
Patch from George G. Davis
This adds an `make uImage` build target rule to create boot images for targets which use u-Boot firmware. This build target already exists for the PPC architecture.
Stéphane Eranian [Thu, 16 Oct 2003 08:13:18 +0000 (01:13 -0700)]
[PATCH] ia64: perfmon-2 fixes
- remove PFM_FL_UNSECURE support because broken
- remove instrumentation code for syswide ctx update (5% speedup)
- integrated cleanups from John Levon
- remove references to pmu_conf.ovfl_val from loops, use local variable
- updated pfm_bad_permissions()
- support reset values for non-counting pmds
- serialization of PFM_RESTART
- added support for restart_active in per-task mode
- remove potential deadlock caused by calling pfm_overflow_handler() from pfm_load_regs()
- fix invalid check in perfmon_mckinley() for PMC13
Tony Luck [Thu, 16 Oct 2003 08:11:43 +0000 (01:11 -0700)]
[PATCH] ia64: MCA min_state area must be uncacheable
Software Developer's Manual page 2:270, section 11.3.2.3
says that the processor min-state save area must be in an
uncacheable region ... but current MCA recovery code
allocates the min-state area "ia64_mca_min_state_save_info"
in regular kernel data/bss.
This patch re-uses the same min-state area that the PAL/SAL
used to report the error to Linux ... which mostly requires
deleting code and declarations (some of which were wrong,
MIN_STATE_AREA_SIZE ought to have been 58). The real "work"
is copying the pointer to the min-state area from the
sal_to_os handoff structure into the os_to_sal structure.
Jens Axboe [Thu, 16 Oct 2003 00:51:41 +0000 (17:51 -0700)]
[PATCH] ide-floppy IOMEGA ZIP fix
From ramon_garcia_f@yahoo.com:
"I am experiencing lost interrupts when writting (but not when reading)
to an IOMEGA Zip drive with the ATAPI floppy driver.
The driver seems to be aware of the problem and has a workaround for
it. Unfortunately my drive is not detected as an IOMEGA drive. The
reason is that the model of my drive is "IOMEGA ZIP 100 ATAPI Floppy"
instead of "IOMEGA ZIP 100 ATAPI", that is what the driver expects. "
Andrew Morton [Thu, 16 Oct 2003 00:30:48 +0000 (17:30 -0700)]
[PATCH] Correct case sensitivity in make mandocs
From: Michael Still <mikal@stillhq.com>
The attached patch corrects case sensitivity in the mandocs make target.
XML is case insensitive, and a bunch of the kernel-doc assumes this. The
makeman and splitman scripts incorrectly cared about case. This patch also
updates the Docbook DTD version which the script generates.
Andrew Morton [Thu, 16 Oct 2003 00:30:28 +0000 (17:30 -0700)]
[PATCH] SELINUX: add policyvers to selinuxfs
From: James Morris <jmorris@redhat.com>
This patch adds a file to the root selinuxfs directory which returns the
security policy version associated with the currently running kernel. Its
purpose is to allow scripts to determine which version of policy to load.
Andrew Morton [Thu, 16 Oct 2003 00:29:46 +0000 (17:29 -0700)]
[PATCH] drivers/block/initrd.c removal
From: viro@parcelfarce.linux.theplanet.co.uk
* drivers/block/initrd.c gone
* chunk of memory where the current tree would look for intird image is
checked for being a valid initramfs image first; then, it is either
unpacked (in addition to normal built-in image) or, if it wasn't a valid
image, copied into a regular file on rootfs called /dev/initrd. Then
memory is freed.
Result:
a) we can put initramfs image in place of initrd one and kernel will DTRT.
b) initrd images still work as usual; code that shoves the thing to
ramdisk, etc. doesn't care whether it reads from a block device or
regular file.
c) initrd.c is gone, so is fake block device and a lot of irregularities
with it.
It has been in -mm for almost two weeks with no reported problems.