James Bottomley [Thu, 25 Sep 2003 07:41:58 +0000 (00:41 -0700)]
[PATCH] fix smc-mca cleanup breakage
The latest set of smc-mca fixes broke the driver. Apparently, it wasn't
realised that request_region() actually returns a pointer to the region
you're requesting if it can. Without this fix, the smc-mca cannot
attach to any device.
Jaroslav Kysela [Thu, 25 Sep 2003 17:40:14 +0000 (19:40 +0200)]
ALSA CVS update
D:2003/09/24 14:12:50
C:USB generic driver
A:Takashi Iwai <tiwai@suse.de>
F:usb/usbaudio.c:1.64->1.65
F:usb/usbmixer.c:1.22->1.23
L:- don't create controls from selector units with a single content.
L:- suppress the error if async-out or adaptive-in has only one EP.
L: don't create a sync pipe in this case.
Jaroslav Kysela [Thu, 25 Sep 2003 17:26:24 +0000 (19:26 +0200)]
ALSA CVS update
D:2003/09/17 13:42:05
C:VIA82xx driver
A:Takashi Iwai <tiwai@suse.de>
F:pci/via82xx.c:1.50->1.51
L:- allow VAR for multi-channel stream.
L:- use 48k only for DXS #3 on VIA8233A.
Jaroslav Kysela [Thu, 25 Sep 2003 17:25:21 +0000 (19:25 +0200)]
ALSA CVS update
D:2003/09/16 17:34:48
C:ALSA<-OSS emulation
A:Takashi Iwai <tiwai@suse.de>
F:core/oss/pcm_plugin.c:1.16->1.17
F:core/oss/pcm_plugin.h:1.5->1.6
L:- fixed the debug print for the recent gcc.
L:- fixed the missing initialization of the recording frame size through
L: plugin. the problem of zero-size read with the rate plugin should
L: be fixed now.
Jaroslav Kysela [Thu, 25 Sep 2003 17:20:43 +0000 (19:20 +0200)]
ALSA CVS update
D:2003/09/11 10:34:48
C:Serial BUS drivers,ICE1724 driver
A:Takashi Iwai <tiwai@suse.de>
F:i2c/other/ak4xxx-adda.c:1.5->1.6
F:pci/ice1712/revo.c:1.3->1.4
L:- fixed the reset of AK4355 codec.
L: the surround sounds on m-audio revo 7.1 should work now.
L:- write to only the register image instead of i/o writing in
L: change the clock mode on AK codecs of revo board.
L:- fixed the non-cleared memory.
Jaroslav Kysela [Thu, 25 Sep 2003 17:19:58 +0000 (19:19 +0200)]
ALSA CVS update
D:2003/09/10 19:01:16
C:ICE1724 driver
A:Takashi Iwai <tiwai@suse.de>
F:pci/ice1712/ice1724.c:1.17->1.18
L:fixed the rate locking bug: the rate locking couldn't be changed any more
L:once if iec958 input is chosen.
Jaroslav Kysela [Thu, 25 Sep 2003 17:19:15 +0000 (19:19 +0200)]
ALSA CVS update
D:2003/09/10 17:26:26
C:ICE1724 driver
A:Takashi Iwai <tiwai@suse.de>
F:pci/ice1712/ice1724.c:1.16->1.17
L:use SIZE register to get the current DMA position.
L:this register seems more reliable than BASE register.
Jaroslav Kysela [Thu, 25 Sep 2003 17:17:11 +0000 (19:17 +0200)]
ALSA CVS update
D:2003/09/05 18:46:42
C:Intel8x0 driver
A:Takashi Iwai <tiwai@suse.de>
F:pci/intel8x0.c:1.90->1.91
L:- check CIV register to sync the current index position.
L: this may fix the noisy output on machines with sloppy interrupts.
Jaroslav Kysela [Thu, 25 Sep 2003 17:16:48 +0000 (19:16 +0200)]
ALSA CVS update
D:2003/09/04 19:45:26
C:HWDEP Midlevel
A:Jaroslav Kysela <perex@suse.cz>
F:core/hwdep.c:1.19->1.20
L:Use try_module_get() and module_put() to block the toplevel module
L:Fixed returned error code in the release() callback
Jaroslav Kysela [Thu, 25 Sep 2003 16:54:05 +0000 (18:54 +0200)]
ALSA CVS update
D:2003/09/02 19:07:31
C:Intel8x0 driver
A:Takashi Iwai <tiwai@suse.de>
F:pci/intel8x0.c:1.89->1.90
L:- set 48k only for the sample rate of SPDIF on nForce.
Jaroslav Kysela [Thu, 25 Sep 2003 16:43:54 +0000 (18:43 +0200)]
ALSA CVS update
D:2003/09/01 10:20:56
C:ICE1712 driver
A:Takashi Iwai <tiwai@suse.de>
F:pci/ice1712/aureon.c:1.2->1.3
L:fixed the SPDIF bit on aureon boards.
L:spdif out should work now.
Jaroslav Kysela [Thu, 25 Sep 2003 16:37:18 +0000 (18:37 +0200)]
ALSA CVS update
D:2003/08/29 10:22:27
C:EMU10K1/EMU10K2 driver
A:Takashi Iwai <tiwai@suse.de>
F:include/emu10k1.h:1.30->1.31
F:pci/emu10k1/emu10k1.c:1.20->1.21
F:pci/emu10k1/emufx.c:1.37->1.38
F:pci/emu10k1/emupcm.c:1.21->1.22
L:Peter Zubaj <pzad@pobox.sk>:
L:- Added the support of AC3 passthrough on Audigy.
L:
L:James Courtier-Dutton <James@superbug.demon.co.uk>:
L:- Use different driver name for Audigy2.
Jaroslav Kysela [Thu, 25 Sep 2003 16:33:24 +0000 (18:33 +0200)]
ALSA CVS update
D:2003/08/28 16:36:44
C:AC97 Codec Core
A:Takashi Iwai <tiwai@suse.de>
F:include/ac97_codec.h:1.32->1.33
F:pci/ac97/ac97_codec.c:1.102->1.103
F:pci/ac97/ac97_patch.c:1.20->1.21
L:- added the detection of revision of ALC650 chip by
L: James Courtier-Dutton <James@superbug.demon.co.uk>
L:- fixed the patch_alc650() to refer to the detected revision.
L:- detect the availability of stereo mute bits in snd_ac97_cmute_new().
Jaroslav Kysela [Thu, 25 Sep 2003 16:29:48 +0000 (18:29 +0200)]
ALSA CVS update
D:2003/08/28 16:07:26
C:Documentation,VIA82xx driver
A:Takashi Iwai <tiwai@suse.de>
F:Documentation/ALSA-Configuration.txt:1.16->1.17
F:pci/via82xx.c:1.47->1.48
L:- added the check of DXS supports (so far, empty).
L: the default value of dxs_support is again 0.
L:- fixed the description.
Jaroslav Kysela [Thu, 25 Sep 2003 16:24:04 +0000 (18:24 +0200)]
ALSA CVS update
D:2003/08/27 17:17:31
C:AC97 Codec Core
A:Takashi Iwai <tiwai@suse.de>
F:include/ac97_codec.h:1.31->1.32
F:pci/ac97/ac97_codec.c:1.101->1.102
F:pci/ac97/ac97_local.h:1.1->1.2
F:pci/ac97/ac97_patch.c:1.19->1.20
L:- added the support for stereo mute switches on AD198x.
L:- clean up of creation routines of normal stereo controls.
Jaroslav Kysela [Thu, 25 Sep 2003 16:21:57 +0000 (18:21 +0200)]
ALSA CVS update
D:2003/08/27 17:12:03
C:Documentation,VIA82xx driver
A:Takashi Iwai <tiwai@suse.de>
F:Documentation/ALSA-Configuration.txt:1.15->1.16
F:pci/via82xx.c:1.46->1.47
L:- use dxs_support=3 (48k fixed) as default, since there are so many problems
L: with dxs_support=0.
L:- added kernel boot parameter for dxs_support option.
Roland McGrath [Thu, 25 Sep 2003 01:15:39 +0000 (18:15 -0700)]
[PATCH] PROT_GROWSDOWN/PROT_GROWSUP flags for mprotect
There is currently no clean and efficient way to apply mprotect to all of a
program's stack, i.e. to the moving edge of a GROWSDOWN or GROWSUP mapping.
Some processes want to change these protections, particularly to set or
clear the PROT_EXEC bits on stack space. As it is, an mprotect done to
cover the precise edge page of the mapping will have the desired effect of
changing the protection for existing pages and having that new protection
carried over to new pages grown later. But there is no very reasonable way
of ascertaining where the edge of the mapping is if it might have grown in
the past beyond the usage at the moment. An mprotect call that doesn't
cover the edge page splits the mapping and doesn't do what we need.
This patch adds flags that can be OR'd into the protection bits in an
mprotect system call. PROT_GROWSDOWN means the memory lies in a GROWSDOWN
mapping and the start address of the region to be changed should be
extended down to the current low page of that mapping. Similarly,
PROT_GROWSUP means the pages lie in a GROWSUP mapping and the length of the
region to be changed should be extended up to include its highest page.
These flags also explicitly request the (already implicit) behavior that
the protection change applied to the lowest/highest page of a growing
mapping is passed on to new pages grown later. There are no other changes
to the mprotect behavior; in particular, the boundary in the non-growing
direction (the end address computed from the start+len arguments in the
GROWSDOWN case, and the start argument in the GROWSUP case) is as given by
the arguments to the system call. This is desireable in the use of this
call by a process on its stack, so it can change the protections of the
growing mapping used for program stack distinctly from the protections on
the arguments, environment, and AT_* data from exec.
Rusty Russell [Wed, 24 Sep 2003 13:41:32 +0000 (06:41 -0700)]
[PATCH] Futex hash improv and minor cleanups
Minor changes to Jamie & Hugh's excellent futex patch.
1) Remove obsolete comment above hash array decl.
2) Clarify comment about TASK_INTERRUPTIBLE.
3) Andrew Morton says spurious wakeup is a bug. Catch it.
4) Use Jenkins hash.
5) Make hash function non-inline.
Rusty Russell [Wed, 24 Sep 2003 13:41:18 +0000 (06:41 -0700)]
[PATCH] Futex lock division
From: "Hu, Boris" <boris.hu@intel.com>
Andrew reminded me of this.
Simple change to split the futex lock into a per-hashchain lock.
Don't bother cacheline aligning: Jamie points out that increasing
FUTEX_HASHBITS would have more payoff.
Ulrich Drepper reports 6% improvement in on a 4way futex-thrashing
benchmark.
Rusty Russell [Wed, 24 Sep 2003 13:32:51 +0000 (06:32 -0700)]
[PATCH] Kconfig fixes for modules.txt
Kconfig cleanup megapatch from Nicolas Kaiser <nikai@nikai.net>.
modules.txt no longer exists, and the common wording used to refer to
it sucks. This is all by Nicolas Kaiser's: at Randy and Matthew's
request, "say M" changed to "choose M" (more sense for graphical front
ends, too).
Alexander Viro [Wed, 24 Sep 2003 08:09:48 +0000 (01:09 -0700)]
[PATCH] Avoid /proc/{ioports,iomem} truncation
The current seq_file code for resource handling will truncate the output
if it overflows the seq_file buffer (one page). That's because it tries
to traverse the resource tree in one big blob.
So change that to instead traverse the resource tree one entry at a time
and have a real iterator, and clean it up a bit.
Alexander Viro [Wed, 24 Sep 2003 01:27:39 +0000 (18:27 -0700)]
[PATCH] 32-bit dev_t: md fallout
This fixes a NULL ptr dereference in md_probe() noted by Helge Hafting.
It even gets the things slightly better than they used to be, but
late-boot magic in md.c is certainly a mess. Oh, well...
It's _ugly_. md_probe() is misused there big way. The minimal fix is
to revert the cleanup in md_probe() - replace
int unit = *part;
with
int unit = MINOR(dev);
However, that is crap solution. The problem is that md_probe() is called
directly with bogus arguments - not only part is NULL (which triggers the
oops), but dev (which is supposed to be dev_t value) is actually mdidx(mddev).
Cleaner fix follows, but we really need to get the situation with gendisk
allocations into the sane shape there. Sigh...
Andrew Morton [Tue, 23 Sep 2003 16:44:55 +0000 (09:44 -0700)]
[PATCH] SELinux leak fixes
From: Stephen Smalley <sds@epoch.ncsc.mil>
I believe that the patch below fixes the legitimate leaks in the SELinux
code. In some cases, it rearranges the code (moving the allocation later
to reduce the need for further cleanup or linking the object into a
containing structure earlier so that the policydb_destroy will handle it
upon any subsequent errors).
Andrew Morton [Tue, 23 Sep 2003 16:44:47 +0000 (09:44 -0700)]
[PATCH] asm/softirq.h is dead
From: Christoph Hellwig <hch@lst.de>
Still three arches keep an unused copy around and quite a few places refer
to it in comments still.
Two of the two arches also include it in their _ksyms.c file, but given
that softirq.h only contains macros (which are in hardirq.c as well) that's
just a leftover as well.
this patch fixes a bug that appeared only on Alpha hardware with
DAC960 controllers. The Command->PciDevice structure member was
never initialized. This was passed to the pci scatter/gather functions.
This didn't cause a problem for x86 platforms because the scatter/gather
funtions never really used that information. Alpha platforms do use
that pointer.
The Command->PciDevice field was also redundant with the Controller->PCIDevice
field, which IS initialized properly. So, eliminating the redundant
structure member and substituting the Controller's member fixes the bug.
Andrew Morton [Tue, 23 Sep 2003 16:44:12 +0000 (09:44 -0700)]
[PATCH] remove CONFIG_SERIAL_21285_OLD
From: Adrian Bunk <bunk@fs.tum.de>
CONFIG_SERIAL_21285_OLD depends on the non-existent option CONFIG_OBSOLETE,
IOW it's not selectable, and the help text says "This is obsolete and will
be removed during later 2.5 development.".
Andrew Morton [Tue, 23 Sep 2003 16:44:04 +0000 (09:44 -0700)]
[PATCH] setuid clearing fix
From: Andries.Brouwer@cwi.nl
jpcartal@free.fr writes:
I noticed that contrary to what was happening with 2.4.x kernel, suid
root files don't loose their suid bit when they get overwritten by a
normal user (see example below)
Is this the intended behaviour or a bug ?
Example :
[root@localhost test]# chown root ~cartaljp/test/suid_test
[root@localhost test]# chmod 4775 ~cartaljp/test/suid_test
[root@localhost test]# exit
[cartaljp@localhost test]$ cp /bin/ls suid_test
[cartaljp@localhost test]$ ls -l
total 72
-rwsrwxr-x 1 root cartaljp 67668 Sep 19 07:56 suid_test <-
Suid bit is still set whereas with 2.4.x kernel it was reset.
while 2.6 does things via notify_change(). However, in 2.6 notify_change()
does not allow removal of the SUID bit because you are not owner of the
file :-). So, we have to convince inode_change_ok() to do it anyway.
Andrew Morton [Tue, 23 Sep 2003 16:43:54 +0000 (09:43 -0700)]
[PATCH] make CONFIG_HUGETLB_PAGE mirror CONFIG_HUGETLBFS
At present you can set CONFIG_HUGETLB_PAGE and not CONFIG_HUGETLBFS, which
give the kernel low-level hugepage support, but no userspace API with which
to access it.
And with the recent hugetlbfs-accounting fix, the low-level code needs
functions which are in hugetlbfs, so CONFIG_HUGETLBFS=n,
CONFIG_HUGETLB_PAGE=y doesn't even link.
So we flip things around: CONFIG_HUGETLB_PAGE is set if CONFIG_HUGETLBFS is
set and CONFIG_HUGETLB_PAGE is unset if CONFIG_HUGETLBFS is unset. The
CONFIG_HUGETLB_PAGE option hence disappears from the per-arch configuration
menus.
We found a problem in hugetlbfs file system quota when using huge page
via mmap. The mmap method in hugetlbfs_file_operation always takes
quota for every mmap even for pages that are already allocated on that
inode. This results in taxing the same hugepage multiple times and
causing mmap to fail on existing file when quota mistakenly runs out.
Andrew Morton [Tue, 23 Sep 2003 16:43:28 +0000 (09:43 -0700)]
[PATCH] switch remaining serial drivers to initcalls
From: Christoph Hellwig <hch@lst.de>
All drivers that compile on ppc with CONFIG_ISA set (= all but
some m68-only drivers), I looked at the compile warnings very
closely and there are no new warnings or even errors this time :)
drivers/char/Makefile needed to be reordered big time to keep
the intialization order the same.
Andrew Morton [Tue, 23 Sep 2003 16:43:18 +0000 (09:43 -0700)]
[PATCH] disallow utime{s}() on immutable or append-only files
From: Ethan Benson <erbenson@alaska.net>
Currently Linux allows the use of the utime() and utimes() syscalls on
immutable or append-only files, this is incorrect.
utime{s}() is not supposed to work if you lack write access to a file,
in the case of an immutable file NOBODY has write access.
for an append-only file it only makes sense to be able to update its
time to present, not the past.
I have checked BSD, and they implement the behavior I propose, for
immutable files utime() and utimes() fail. for append-only files they
fail if the time argument is not NULL.
Andrew Morton [Tue, 23 Sep 2003 16:42:53 +0000 (09:42 -0700)]
[PATCH] mark devfs obsolete
From: Christoph Hellwig <hch@lst.de>
Richard hasn't touched it for about a year and since then only bugfixes and
my changes to the kernel interface went in. No one has stepped up to
maintain it and with udev we have a proper replacement now.
I will do some more work before 2.6 (mainly trying to implement Al's
refcounting scheme to avoid stale entries), but that's it.
Alexander Viro [Tue, 23 Sep 2003 16:07:14 +0000 (09:07 -0700)]
[PATCH] 32-bit dev_t fixups
Argh. A couple of places where we needed ..._encode_dev() had
been lost in reordering the patchset - the most notable being ctty number in
/proc/<pid>/stat. Fix follows:
Adam Radford [Tue, 23 Sep 2003 09:27:21 +0000 (02:27 -0700)]
[PATCH] 3ware driver update
This fixes several things including fixing the character ioctl polling
to use wait_event_interruptible_timeout() instead of
interruptible_sleep_on_timeout() and several other fixes.
Alexander Viro [Tue, 23 Sep 2003 05:52:28 +0000 (22:52 -0700)]
[PATCH] 32-bit dev_t: switch-over
Real conversion to 32bit dev_t. Expansion to:
* mknod() - 32
* newstat() - 32 on 64bit platforms
* stat64() - 32 on mips, 64 on everything else (mips has weird struct
stat64 and can't get more than 32 bits). Note that right now the difference
is purely theoretical - we don't have internal values above 32 bits, so
huge_... vs. new_... only marks the places where 64bit conversion will need
extra work.
* arch-dependent stat variants - depending on width available.
* ustat et.al. - 32
* filesystems that can handle 32 bits right now - 32
* ext2 and ext3 - 32, with large dev_t inodes having 0 in the first
element of i_data[] (where we store dev_t value for small device numbers) and
keeping the value in the second element.
* nfsd - 32; it can be driven to 64, but we'll get several issues with
NFSv2 support.
* RAID - 32
* devmapper - with v1 it's still 16 (nothing to do here), with v4 it's
64.
* loop - 64
* initramfs - 32
* do_mounts code - 32. Parts that scan devfs tree are using newstat()
on 64bit platforms and stat64() on the rest (IOW, the latest stat variant on
given platform).
* old_valid_dev()/new_valid_dev() added where needed (stat variants,
mostly - we fail with -EOVERFLOW if values do not fit).