26 Mar, 2006
40 commits
-
Documentation changes to help radix tree users avoid overrunning the tags
array. RADIX_TREE_TAGS moves to linux/radix-tree.h and is now known as
RADIX_TREE_MAX_TAGS (Nick Piggin's idea). Tag parameters are changed to
unsigned, and some comments are updated.Signed-off-by: Jonathan Corbet
Cc: Nick Piggin
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Correct some error handling on the compat version of the nfsservctl()
system. It was detecting errors while copying in the arguments from user
space, but then attempting to use the arguments anyway. This didn't seem
so good.Signed-off-by: Peter Staubach
Cc: Trond Myklebust
Cc: Neil Brown
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch fixes i2o_dump_hrt output from dmesg:
iop0: HRT has 1 entries of 16 bytes each.
Adapter 00000012: TID 0000:[HPC*]:PCI 1: Bus 1 Device 22
Function 0Signed-off-by: Vasily Averin
Cc: Markus Lidel
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The "rounded up to nearest power of 2 in size" algorithm in
alloc_large_system_hash is not correct. As coded, it takes an otherwise
acceptable power-of-2 value and doubles it. For example, we see the error
if we boot with thash_entries=2097152 which produces a hash table with
4194304 entries.Signed-off-by: John Hawkes
Cc: Roland Dreier
Cc: "Chen, Kenneth W"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
fls() takes an integer, so roundup_pow_of_two() is busted for ulongs larger
than 2^32-1.Fix this by implementing and using fls_long().
(Why does roundup_pow_of_two() return a long?)
(Why is roundup_pow_of_two() __attribute_const__ whereas long_log2() is
__attribute_pure__?)(Why does long_log2() suck so much? Because we were missing fls_long()?)
Cc: Roland Dreier
Cc: "Chen, Kenneth W"
Cc: John Hawkes
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
While doing some benchmarks of an Apache/PHP SMP server, I noticed high
oprofile numbers in in_group_p() and _atomic_dec_and_lock().rank percent
1 4.8911 % __link_path_walk
2 4.8503 % __d_lookup
*3 4.2911 % _atomic_dec_and_lock
4 3.9307 % __copy_to_user_ll
5 4.9004 % sysenter_past_esp
*6 3.3248 % in_group_pIt appears that in_group_p() does an uncessary
get_group_info(current->group_info); /* atomic_inc() */
... /* access current->group_info */
put_group_info(current->group_info); /* _atomic_dec_and_lock */It is not necessary to do this, because the current task holds a reference
on its own group_info, and this reference cannot change during the lookup.This patch deletes the get_group_info()/put_group_info() pair from
sys_getgroups(), in_group_p() and in_egroup_p() functions.Signed-off-by: Eric Dumazet
Cc: Tim Hockin
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
If I mount ext2 "rw", I want it to say "rw", not "rw,nogrpid".
I caught this writing an automated regression test script for the busybox
mount command. The symptom is
/dev/loop0 on /images/ext2.dir type ext2 (rw,nogrpid)
instead of:
/dev/loop0 on /images/ext2.dir type ext2 (rw)The behavior was introduced by git commit
8fc2751beb0941966d3a97b26544e8585e428c08.Signed-off-by: Rob Landley
Cc: Mark Bellon
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
http://mpeg.openprojects.net/ doesn't exist
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
As prepare_write, commit_write and readpage are allowed to return
AOP_TRUNCATE_PAGE, page_symlink should respond to them.Signed-off-by: Neil Brown
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Flesh out the description of the address_space operations.
Signed-off-by: Neil Brown
Cc: Avishay Traeger
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
fs/reiserfs/item_ops.c: In function 'indirect_print_item':
fs/reiserfs/item_ops.c:278: warning: 'num' may be used uninitialized in this function(akpm: this is probably just gcc being dumb)
Signed-off-by: Benoit Boissinot
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Mailing this address gives.. Sorry your message to max_mk@yahoo.com cannot
be delivered. This account has been disabled or discontinued [#102].
mta129.mail.re4.yahoo.com)Signed-off-by: Dave Jones
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Nice place isn't it? I've lived in 7 other houses since then.
Signed-off-by: Jamie Lokier
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The Coverity checker found this memory leak.
Signed-off-by: Adrian Bunk
Acked-by: Corey Minyard
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
We dereference bitmap both one line above and one line below this check
rendering this check quite useless.Spotted by the Coverity checker.
Signed-off-by: Adrian Bunk
Cc: Alasdair G Kergon
Cc: Neil Brown
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The Coverity checker wasn't happy seeing a size_t compared with -ENODATA
and -ENOSYS.Since the only place where size is set is through the result of
reiserfs_xattr_get() which is an int, we could simply make size an int.Signed-off-by: Adrian Bunk
Cc: Jeff Mahoney
Cc: Chris Mason
Cc: Hans Reiser
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Initramfs initrd images do not need a ramdisk device, so remove this
restriction in Kconfig. BLK_DEV_RAM=n saves about 13k on i386. Also
without ramdisk device there's no need for "dry run", so initramfs unpacks
much faster.People using cramfs, squashfs, or gzipped ext2/minix initrd images are
probably smart enough not to turn off ramdisk support by accident.Cc: Al Viro
Cc: Christoph Hellwig
Cc: "H. Peter Anvin"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
A couple of places are forgetting to take it.
The kswapd case is probably unimportant. keventd_create_kthread() was racy.
The whole thing is a bit flakey: you start a kernel thread, get its pid from
kernel_thread() then look up its task_struct.a) It assumes that pid recycling takes a "long" time.
b) We get a task_struct but no reference was taken on it. The owner of the
kswapd and kthread task_struct*'s must assume that the new thread won't
exit unexpectedly. Because if it does, they're left holding dead memory
and any attempt to control or stop that task will crash.Cc: Christoph Hellwig
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When EXT3FS_DEBUG is #define-d, the compile breaks due to #include file
issues.Signed-off-by: Kirk True
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This fixes coverity bugs #398 and #397
Signed-off-by: Jesper Juhl
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch reduces scheduling latency in shrink_dcache_sb() noticed during
remounting of big partitions with many cached dentries. The same latency
fix was applied to select_parent() long ago.Signed-off-by: Denis Lunev
Signed-off-by: Pavel Emelianov
Signed-off-by: Kirill Korotaev
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
In here, I think the following order is more cache-friendly.
Signed-off-by: OGAWA Hirofumi
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
freeze_bdev() uses a fsync_super() without sync_blockdev(). This patch
makes __fsync_super() and shares it.Signed-off-by: OGAWA Hirofumi
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Believe it or not, but in fs/minix/*, the oldest filesystem in the kernel,
something still can be fixed:printk("new_inode: bit already set");
"\n" is missing!
While at it, I also removed periods from the end of error messages and made
capitalization uniform. Also s/i-node/inode/, s/printk (/printk(/Signed-ff-by: Denis Vlasenko
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
PTRACE_TRACEME doesn't have proper capabilities validation when parent is
less privileged than child. Issue pointed out by Ram Gupta
.Note: I haven't identified a strong security issue, and it's a small ABI
change that could break apps that rely on existing behaviour (which allows
parent that is less privileged than child to ptrace when child does
PTRACE_TRACEME).Signed-off-by: Chris Wright
Cc: Ram Gupta
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Move capable() to kernel/capability.c and eliminate duplicate
implementations. Add __capable() function which can be used to check for
capabiilty of any process.Signed-off-by: Chris Wright
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch adds a proper prototype for setup_arch() in init.h.
This patch is based on a patch by Ben Dooks .
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Implement the half-closed devices notifiation, by adding a new POLLRDHUP
(and its alias EPOLLRDHUP) bit to the existing poll/select sets. Since the
existing POLLHUP handling, that does not report correctly half-closed
devices, was feared to be changed, this implementation leaves the current
POLLHUP reporting unchanged and simply add a new bit that is set in the few
places where it makes sense. The same thing was discussed and conceptually
agreed quite some time ago:http://lkml.org/lkml/2003/7/12/116
Since this new event bit is added to the existing Linux poll infrastruture,
even the existing poll/select system calls will be able to use it. As far
as the existing POLLHUP handling, the patch leaves it as is. The
pollrdhup-2.6.16.rc5-0.10.diff defines the POLLRDHUP for all the existing
archs and sets the bit in the six relevant files. The other attached diff
is the simple change required to sys/epoll.h to add the EPOLLRDHUP
definition.There is "a stupid program" to test POLLRDHUP delivery here:
http://www.xmailserver.org/pollrdhup-test.c
It tests poll(2), but since the delivery is same epoll(2) will work equally.
Signed-off-by: Davide Libenzi
Cc: "David S. Miller"
Cc: Michael Kerrisk
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This fix prevents re-disabling and enabling of a previously disabled
interrupt. On an SMP system with irq balancing enabled; If an interrupt is
disabled from within its own interrupt context with disable_irq_nosync and is
also earmarked for processor migration, the interrupt is blindly moved to the
other processor and enabled without regard for its current "enabled" state.
If there is an interrupt pending, it will unexpectedly invoke the irq handler
on the new irq owning processor (even though the irq was previously disabled)The more intuitive fix would be to invoke disable_irq_nosync and
enable_irq, but since we already have the desc->lock from __do_IRQ, we
cannot call them directly. Instead we can use the same logic to disable
and enable found in disable_irq_nosync and enable_irq, with regards to the
desc->depth.This now prevents a disabled interrupt from being re-disabled, and more
importantly prevents a disabled interrupt from being incorrectly enabled on
a different processor.Signed-off-by: Bryan Holty
Cc: Andi Kleen
Cc: "Luck, Tony"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Uninline some massive IRQ migration functions. Put them in the new
kernel/irq/migration.c.Cc: Andi Kleen
Cc: "Luck, Tony"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
sparc32:
drivers/input/touchscreen/ads7846.c: In function `ads7846_read12_ser':
drivers/input/touchscreen/ads7846.c:206: warning: implicit declaration of function `disable_irq'
drivers/input/touchscreen/ads7846.c:208: warning: implicit declaration of function `enable_irq'Cc: Dmitry Torokhov
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
In file included from drivers/char/tpm/tpm_nsc.c:23:
drivers/char/tpm/tpm.h: In function `tpm_read_index':
drivers/char/tpm/tpm.h:92: warning: implicit declaration of function `outb'
drivers/char/tpm/tpm.h:93: warning: implicit declaration of function `inb'Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This adds missing bits of collie (sharp sl-5500) PCMCIA support and
MFD support.Signed-off-by: Pavel Machek
Acked-by: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
In frontlight support, we should really use values from flash-ROM instead
of hardcoding our own. Cleanup includes.Signed-off-by: Pavel Machek
Acked-by: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
It's already big enough and there's no reason to list maintainers of
external patches.Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The /dev/mem and /dev/kmem write handlers weren't fully POSIX compliant in
that they wouldn't always force the file pointer to be updated when
returning success status.The /dev/port write handler was inconsistent with the /dev/mem and
/dev/kmem handlers in that when encountering a -EFAULT condition after
already having written a number of items it would return -EFAULT rather
than the number of bytes written.Signed-off-by: Jan Beulich
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When SMBFS_DEBUG_VERBOSE is #define-d, the compile breaks:
fs/smbfs/inode.c:217: error: aggregate value used where an integer was expected
This is a simple matter of using the .tv_sec attribute of struct time_spec.
Signed-off-by: Kirk True
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix documentation to match current implementation.
Signed-off-by: Eric Van Hensbergen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
There were a number of conflicting naming schemes used in the v9fs project.
The directory was fs/9p, but MAINTAINERS and Documentation referred to
v9fs. The module name itself was 9p2000, and the file system type was 9P.
This patch attempts to clean that up, changing all references to 9p in
order to match the directory name. We'll also start using 9p instead of
v9fs as our patch prefix.There is also a minor consistency cleanup in the options changing the name
option to uname in order to more closely match the Plan 9 options.Signed-off-by: Eric Van Hensbergevan
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Update license boilerplate to specify GPLv2 and remove the (at your option
clause). This change was agreed to by all the copyright holders (approvals
can be found on v9fs-developer mailing list).Signed-off-by: Eric Van Hensbergen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds