Andrew Morton [Fri, 13 Feb 2004 07:45:01 +0000 (23:45 -0800)]
[PATCH] selinux: Fix bugs in policy loading code
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch fixes a couple of bugs in the SELinux policy loading code. The
first bug was reported by Magosanyi Arpad; kernel panic upon feeding the
kernel a policy with an empty avtab due to cleanup code trying to free the
avtab twice. The other bugs were reported by Frank Mayer; failure to
properly validate certain values read from the policy.
Jeff Garzik [Fri, 13 Feb 2004 07:27:20 +0000 (02:27 -0500)]
[libata] catch, and ack, spurious DMA interrupts
Hardware issue on Intel ICH5 requires an additional ack sequence
over and above the normal IDE DMA interrupt ack requirements. Issue
described in post to freebsd list:
http://www.mail-archive.com/freebsd-stable@freebsd.org/msg58421.html
Since the bug workaround only requires a single additional PIO or
MMIO read in the interrupt handler, it is applied to all chipsets
using the standard libata interrupt handler.
Credit for research the issue, creating the patch, and testing the
patch all go to Jon Burgess.
Linus Torvalds [Thu, 12 Feb 2004 05:00:34 +0000 (21:00 -0800)]
Fix "bus_for_each_dev()" and "bus_for_each_drv()", which did not
correctly handle the "restart from this device/driver" case, and
caused oopses with ieee1394.
This just uses "list_for_each_entry_continue()" instead.
Add helper macro to make usage of "list_for_each_entry_continue()"
a bit more readable.
Here is the new radeonfb. It doesn't remove the old one, just in case,
though CONFIG_FB_RADEON now builds the new one.
The new driver supports recent cards, has better monitor detection,
including DDC2, fixes a couple of constants in the old driver, and a lot
more.
I had to add an empty fb_set_suspend() function to fbmem.c (the real
implementation is in James tree and will be here soon). That means that
Power Management on Apple laptops isn't completely right yet until the
core fbdev fixes get in, but it's good enough for now.
ppc64: Add pciconfig_iobase syscall for 32 bits apps only
This syscall is used by XFree to retreive the IO base of the
bus where the video card is plugged. This is only implemented
for compatibility with existing XFree86, I don't plan to do
a 64 bits version, XFree shall be fixed to use proper PCI access
methods
ppc64: Add support for z85c30 SCCs for low level console (PowerMac G5)
This is only used with the "sccdbg" kernel command line option, as
you need a special adapter (www.geethree.com) to get access to the
serial port on those machines.
This involves moving the final fixup to a function pointer in machdep,
turning all the PCI DMA routines into function pointers in a separate
structure and a bit of renaming work. The PowerMac currently use
"direct" PCI DMA bypassing the iommu. The driver for the IOMMU will
come later, allowing us to lift the limitation to 2Gb of RAM
ppc64: Add support for PowerMacs in the OF client interface code (prom.c)
Also move some of the init cruft into separate function to make
things slightly more readable. We sill need to significantly
cleanup that file, but that will come later...
Properly export the OF device-tree accessors to modules
ppc64: Add the head.S changes to boot a PowerMac G5.
Apple's OF boots us with translation enabled. Also move the
copy_and_flush of the CPU holding loop to prom.c as it mustn't
be called on platforms that don't boot in real mode (that space
isn't always mapped)
Wim Van Sebroeck [Wed, 11 Feb 2004 22:14:18 +0000 (23:14 +0100)]
[WATCHDOG] v2.6.2 i8xx_tco-v0.06_update
Version 0.06 of the intel i8xx TCO driver:
* change i810_margin to heartbeat (in seconds)
* use module_param
* added notify system support
* renamed module to i8xx_tco
Matthew Wilcox [Wed, 11 Feb 2004 21:28:51 +0000 (22:28 +0100)]
[WATCHDOG] v2.6.2 watchdog-architecture-cleanup
In order to make the watchdog menu useful for some architectures, we need
to only be able to select the watchdogs that can compile. This patch also
moves the SuperH watchdog from its own Kconfig file to the normal one.
Rusty Russell [Wed, 11 Feb 2004 11:41:32 +0000 (03:41 -0800)]
[PATCH] Shut up about the damn modules already...
In almost all distributions, the kernel asks for modules which don't
exist, such as "net-pf-10" or whatever. Changing "modprobe -q" to
"succeed" in this case is hacky and breaks some setups, and also we
want to know if it failed for the fallback code for old aliases in
fs/char_dev.c, for example.
Just remove the debugging message which fill people's logs: the
correct way of debugging module problems is something like this:
A poll on a non-blocking listen socket signals readable too early. The
first time the socket should be readable is if a child is in connected
state. And don't signal writeable if the socket is in config state.
Dave Jones [Wed, 11 Feb 2004 15:09:40 +0000 (15:09 +0000)]
[CPUFREQ] Remove bogus scaling from longhaul driver freqency tables.
This is nonsense. We only use the lower 8 bits, so putting the useful
info in the upper 8 makes no sense at all.
Ingo Molnar [Tue, 10 Feb 2004 23:54:06 +0000 (15:54 -0800)]
[PATCH] open writecount scalability cleanup
This is an obvious scalability improvement for write()s. We used a
global lock to protect the inode writecount (updated on every open for
writing) - this just makes it use the existing inode->i_lock instead.
Dave Jones [Tue, 10 Feb 2004 17:57:45 +0000 (17:57 +0000)]
[CPUFREQ] Pentium-4-M detection fix for speedstep-lib
From Dominik..
The different P-4-M steppings have different "ebx" values. Analyze it
correctly to sort out Pentium-4-based Celerons.
Dave Jones [Tue, 10 Feb 2004 17:06:57 +0000 (17:06 +0000)]
Merge delerium.codemonkey.org.uk:/mnt/nfs/sepia/bar/src/kernel/2.6/trees/bk-linus
into delerium.codemonkey.org.uk:/mnt/nfs/sepia/bar/src/kernel/2.6/trees/cpufreq
Dave Jones [Tue, 10 Feb 2004 16:54:06 +0000 (16:54 +0000)]
[CPUFREQ] Geode register fixes.
From: Hiroshi Miura <miura at da-cha.org>
I mistook a Geode chipset's register meanings. (-.-;
ON is not 'CPU is ON' but 'cpu modulation is ON' that is stops cpu.
this causes a bad freq setting.
This patch fixes this and minor bug that is,
if (new_khz == stock_freq) { /* if new khz == 100% of CPU speed, it is special case */
local_irq_save(flags);
cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
cpufreq_notify_transition() called after local_irq_save();
this makes not update cpu_khz.