- 04 Jun, 2002 5 commits
-
-
Robert Love authored
Attached patch replaces the lone remaining suser() call with capable() and then removes suser() itself in a triumphant celebration of the glory of capable(). Or something. ;-) Small cleanup of capable() and some comments, too.
-
Martin Dalecki authored
- Simplify ide_cmd_type_parse by removing the handling of commands which we never use. - Realize that pre_task_out_intr and pre_task_mulout_intr are semanticaly identical. Use only pre_task_out_intr(). This allowed us to eliminate the prehandler altogether. - Updated fix for misconfigured host chips by Vojtech Pavlik. - Be more permissive about ioctl handling to allow device type drivers to do they own checks. - ali14xx cleanups by Andrej Panin. - Unfold usage ide_cmd_type_parser in tcq.c code. This makes this operation local to ide-disk.c. Move it as well as the interrupt handlers used only for the handling of disk requests there too. - Guard against calling handler before the drive is ready for it in ata_taskfile()! Well this bug was there before, but right now we inform about it. - Unfold ide_cmd_type_praser in ide-disk.c. Merge the remaining bits of it with get_command. Well it's no more. - Move recal_intr to ide.c - the only place where it's used. This doesn't change the "mechanics" of the code but it makes it a lot more "obvious" what's going on.
-
Russell King authored
2.5.20 seems to be incapable of executing binaries in a ramdisk-based root filesystem. The ramdisk in question is an ext2fs, with a 1K block size loaded via the compressed ramdisk loader in do_mounts(). It appears that, in the case of a 1K block sized filesystem, we attempt to read two 512-byte sectors into a BIO vector. The first one is copied into the first 512 bytes. The second sector, however, is copied over the first 512 bytes. Obviously not what we really want. Rev. 2, slightly cleaned up:
-
bk://ldm.bkbits.net/linux-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
Noted by Alexey Vyskubov
-
- 03 Jun, 2002 35 commits
-
-
Patrick Mochel authored
- Make sure proper pci id is passed to probe() - make sure pci_dev->driver is set and reset on driver registration/unregistration - call remove_driver to force unload of driver on unregistration
-
Patrick Mochel authored
driver_unbind was called when drv->refcount == 0. It would call driver_for_each_dev to do the unbinding The first thing that would do was get_device, which... BUG()'d if drv->refcount == 0. Duh.
-
Patrick Mochel authored
- make sure drv->devices is initialized on registration (from Peter Osterlund) - add remove_driver for forcing removal of driver There was a potential race with the module unload code. When a pci driver was unloaded, it would call pci_unregister_driver, which would simply call put_driver. If the driver's refcount wasn't 0, it wouldn't unbind it from devices, but the module unload would still continue. If something tried to access the driver later (since everyone thinks its still there), Bad Things would happen. This fixes it until there can be tighter integration between the device model and module unload code.
-
Pavel Machek authored
Here's followup patch that makes it work. Notice freeze_processes() -- if you don't do that you risk data corruption.
-
Pavel Machek authored
This cleans up swsusp in 2.5.20. Killed sysrq-D support (it is too much trouble to support suspending from interrupt), kill unused define, fix compile-time warnings (thanks to Adam).
-
Pavel Machek authored
I created arch/i386/suspend.c not to clash with ACPI people so much in future. (More stuff is going to move into it in the future, to clean up functions that really do not belong to the headers.)
-
Zwane Mwaikambo authored
This patch merges in all the currently outstanding bluesmoke bits from 2.5-dj to 2.5.20, it also has the pleasant side effect of fixing the compilation. Test compiled with and without MCE.
-
Dan Kegel authored
Here's that patch again (MIME this time, so tabs don't get lost by my silly gui mailer); applies cleanly against against 2.4.19-pre8. Nobody commented on it last time I posted it, and it does make compiling gcc easier, so I guess that makes it trivial patch monkey fodder. Or am I making a silly mistake?
-
Randy Hron authored
Most /proc/slabinfo cache_names are in the format: cache_name. There are a couple with spaces in the name, which is inconsistent and requires a special case when scripting. Changes "fasync cache" and "file lock cache" to have the usual underscore.
-
William Lee Irwin III authored
inactive_list and active_list are global, yet they are repeatedly initialized using INIT_LIST_HEAD() in free_area_init_core(). This patch is originally due to Christoph Hellwig, and by some reports has been implementated before in 2.4-based trees by Andrea Arcangeli.
-
William Lee Irwin III authored
The memlist_* macros serve as nothing but an insulation layer from the Linux-native generic list operations. This patch removes them in favor of using generic list operations directly.
-
William Lee Irwin III authored
This comment, describing how to optimize for gcc-2.2.2, is so outdated it should be removed. It's also quite doubtful it should ever have been placed in this file at all (perhaps something under Documentation/ ?). This patch removes it.
-
William Lee Irwin III authored
memclass is too large to be a #define; it overflows 80 columns and does not make use of facilities available only to macros. This patch convert memclass() to be an inline function.
-
William Lee Irwin III authored
I found this one while trying to straighten out bootstrap ordering issues elsewhere. There appears to be a duplicate declaration of rq in sched_init(). This removes the nested declaration and otherwise leaves things alone.
-
William Lee Irwin III authored
The comment describing the usage of zone_table[] assumes the existence of an unsigned char page->zone field from the original implementation of page->zone size reduction. This patch corrects the comment to accurately describe the lookup mechanism used by page_zone() and also to mention explicitly the sole user of the table, page_zone().
-
Rusty Russell authored
Playing with arch stuff does this to you.
-
Rusty Russell authored
Rusty Russell <rusty@rustcorp.com.au>: Oh, I feel so violated...: <sniff>
-
Peter Chubb authored
This patch against 2.5.19 gets rid of some bogus casts in ide-cd.c In my opinion the casts as is are bugs waiting to happen.
-
Kazuto Miyoshi authored
I found that 'max' pointer is not updated in proc_dointvec_minmax() and proc_doulongvec_minmax(), when I write smaller values than min to /proc/sys entry (and val<*min++ check becomes true.) This may lead to min/max checking of values with bogus maximum.
-
Dan Aloni authored
Unrelated to my first dcache patch, this is something more crucial and should be applied first. fs/dcache.c: - handle d_alloc() returning NULL.
-
Ghozlane Toumi authored
Attached is a really trivial patch that changes an "unknown" PCI_DEVICE_ID 0x3112 to PCI_DEVICE_ID_VIA_8361 in drivers/pci/quirks.c . It applies cleanly to 2.5.18 and 2.4.19-pre8.
-
Brad Hards authored
There is more of this janitorial work to come (eg General setup). I'm just piecemealing it
-
Alexander Atanasov authored
[ Made applicable with -p1 by Rusty ] nlma fixes a call to netlink_broadcast with GFP_KERNEL ( passed to skb_clone ) while we are in_interrupt() ( catched by a BUG() in slab.c:1109 ).
-
Johan Adolfsson authored
Missing include of asm_io.h in mm_bootmem.c: Submitted this trivial patch on May 14, but nothing has happened yet. Perhaps better chance if you took care of it. It's needed by phys_to_virt() but it happens to work on i386 etc. since dma.h includes io.h for that arch.
-
Trond Myklebust authored
The following has been vetted with davem w.r.t. the change to KM_SKB_DATA. Apologies for the bug... include/asm-*/kmap_types.h: Replace the unused km_type slot KM_SKB_DATA with KM_SKB_SUNRPC_DATA. net/sunrpc/xdr.c: Replace the use of KM_USER0 with KM_SKB_SUNRPC_DATA for copying data from an skb into the page cache when in the sk->data_ready() callback.
-
Jens Axboe authored
Fix queue plug locking.
-
Anton Blanchard authored
This fixes two shift warnings on 64 bit archs.
-
Alexander Atanasov authored
oom-loop fixes error handling after a netlink failure - it does not do a cleanup and it makes every next call to ip_fw_check to detect a loop and drop the packet.
-
http://kernel-acme.bkbits.net:8080/copy_to_from_user-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Robert Love authored
Looks like sys_sysinfo has not been touched in years. Among other things, it uses a global cli() for protection; I switched it to an existing rwlock. I also pulled it out of info.c and stuck it in timer.c (I choose timer.c because it shares dependencies there already). The details: - move sys_sysinfo to kernel/timer.c from kernel/info.c: why one small syscall got its own file is beyond me. - delete kernel/info.c - stop the global cli! now grab a read_lock on xtime_lock. this is safe as we moved the write_unlock on xtime_lock down one line to cover the calculating of avenrun. - trivial code cleanup
-
Robert Love authored
The attached patch cleans up some per-CPU code in arch/i386/kernel/smp.c that could be problematic under preemption. The first I solve with the new get_cpu interface, for the second two I explicitly disable preemption. I also changed 1 to 1UL in the shift to properly match the type.
-
Robert Love authored
Might as well make it explicit... Patch is against 2.5.20, please apply. Robert Love
-
Robert Love authored
Resend of trivial bits from my scheduler tree...: - shift cpu by 1UL not 1 to match type - clarify various comments - remove the barrier from preempt_schedule. This was here because I used to check need_resched before returning from preempt_schedule but we do not now (although should). The barrier insured need_resched and preempt_count were in sync now and after an interrupt that could occur.
-
Robert Love authored
I started looking into a couple FIXMEs in kernel/capability.c and I ended up with a fairly largish patch (although not quite so many changes to object code). First, it is unsafe to touch task->cap_* while not holding task_capability_lock. The most notable occurrence of this is sys_access which saves the current cap_* values, changes them, does its business, then restores them. In between all this they can change and then be restored to old values. Unfortunately we cannot just grab the lock here since the function can sleep - I marked this with a FIXME for now. Second, I formalized the locking rules with task_capability_lock. I declared the lock in include/linux/capability.h so other code can grab it. Finally, there is a whole boatload of code cleanup: - remove conditional locking/unlocking - that is just gross - don't pointlessly grab the read_lock twice - add/remove/edit comments - change some types (int -> pid_t, etc) - static inline two small functions that are called only once each - remove two FIXMEs - general code cleanup for readability and performance TODO: - fix sys_access and other cap_* accesses - do something about the annoying oddball 5-space indentation in kernel/capability.c !! Patch is against 2.5.20, please apply. Robert Love
-
Robert Love authored
This patch removes the whole wq_lock_t abstraction, forcing the behavior to be that of a standard spinlock and changes all the wq_lock code in the tree appropriately. Removes lots of code - always a Good Thing to me. New behavior is same as previous behavior (USE_RW_WAIT_QUEUE_SPINLOCK unset).
-