Albert Cahalan [Sun, 17 Aug 2003 01:48:39 +0000 (18:48 -0700)]
[PATCH] fast AND correct strncpy
This is Erik Andersen's excellent strncpy.
It works like magic. That "if" isn't a jump;
gcc uses a few integer instructions to wipe
out all jumps except for the loop itself and
the function call/return.
This has been exhaustively tested against glibc.
The existing code has 5 extra branches and
is over twice as large. (my gcc, etc.)
Dave Olien [Sun, 17 Aug 2003 01:42:26 +0000 (18:42 -0700)]
[PATCH] DAC960 fix for NULL dereference in open()
This fixes a problem that's been hidden for a while.
DAC960_open() will try to dereference a NULL pointer if an application
opens (for example) /dev/rd/c0d12 when there has never been a logical
device created for that file.
The scsi ones are already gone in jejb's tree, I'll post a patch
to kill the struct fields once the scsi tree and this patch end
up merged in mainline.
A recent patch from James had incorrect PCI IDs for a few Radeon
chips (the Radeon M9 chips Ld,Le,Lf and Lg, he used the IDs of the
Id,Ie,If and Ig instead).
This fixes that and group the properly by family (those got a bit
shuffled around lately).
The irda tty line discipline does not handle the new module
paradigm well. This patch fixes that:
- initialize line discipline as data, not with code
- set module owner
- make prototype for irtty_ioctl match expected
arguments from tty discipline
- get rid of explicit MOD_INC/MOD_DEC
Working on converting IRDA to new netdevice semantics, this is the first
of some of the small things I found.
The irtty hashbin is created, maintained and never used.
Motivation for removing is that the hashbin locking has problems with
the locking assumptions in on network device removal.
Now that unregister_sysfs got smaller, just eliminate it and call
class_device_unregister directly. netdev_finish_unregister is called
one place, therefore it is easier to understand if we just put those
few lines into wait_allrefs state machine.
[NET]: net-sysfs - use attribute group instead of kobject for statistics.
Net statistics were in a kobject only because there was no better way
to create a directory. Latest 2.6.0-test3 bk tree, has merged in
Pat's change to provide 'attribute groups'.
This patch converts netdevice's from a statistic's kobject to attribute
group. This is cleaner and fixes some shutdown unload issues as well.
- define format strings once rather than N times
- add GNU license that I forgot in original code
- move read_lock out from format_address to show_address so
device is alive test is inside of lock.
Kyle McMartin [Sat, 16 Aug 2003 00:36:53 +0000 (17:36 -0700)]
[IPSEC]: Add support for Twofish and Serpent.
This patch adds support for the use of twofish and serpent as
ESP algorithms. The ESP index numbers given are in accordance
with RFC2407, draft-ietf-ipsec-ciph-aes-cbc-00 (before Rijndael
was selected), and KAME which assigns 253 to twofishcbc.
Support for using twofish was requested on linux-kernel, and
since I noticed serpent was missing too, included that as well.
Driver Core: add warnings if .release functions are not set for objects.
This has been in the -mm tree for a while and has helped a lot in finding
lots of improper users of the driver core. It also moves the driver core
code up quite a few levels on the "Rusty's guide to kernel APIs".
David Brownell [Fri, 15 Aug 2003 03:01:55 +0000 (20:01 -0700)]
[PATCH] USB: usb_start_wait_urb() rewrite
The code that manges the synchronous control/bulk calls has
been a mess for ages. This patch rewrites it using:
- "struct completion" instead of a usb-internal clone therof,
- prepare_to_wait()/finish_wait() instead of the tangled
mess it now uses (or a new wait_event_timeout call, as in
previous versions of this patch).
Dave Jones [Fri, 15 Aug 2003 15:31:32 +0000 (16:31 +0100)]
[AGPGART] Move ATI PCI IDs to pci_ids.h
- sort some of the ATI entries. (note, there are dupes in there
that could be fixed up at some point).
- Rename PCI_DEVICE_ID_RADEON_IGP to ATI_RS100.
RadeonIGP is the family, not the specific chip.
Andrew Morton [Thu, 14 Aug 2003 18:31:12 +0000 (11:31 -0700)]
[PATCH] AS: update as_requeue_request()
- Ensure that arq->state is always set (ie. even if io context
allocation failed).
- Call as_antic_stop() unconditionally - which checks for the same
condition. There are other callers which make the same check and should
be changed too...
Ingo Molnar [Thu, 14 Aug 2003 18:26:03 +0000 (11:26 -0700)]
[PATCH] More timer race fixes
Patch from Julie DeWandel.
This patch has solved the crashes observed during TPC-C runs on the
16-way box. (I'm confident it will fix the other reported cases as
well.)
The race is the setting of timer->base to NULL, by del_timer() or
__run_timers(). If new_base == old_base in __mod_timer() then we do not
re-check timer->base after getting the lock. (the only case where we do
not have to re-check the base is in the !old_base case, but the else
branch also includes the old_base==new_base case.)
The __run_timers() case made the lock_timer() patch not work fully - we
cannot use lock_timer() in __run_timers() due to lock ordering.
Andrew Morton [Thu, 14 Aug 2003 17:25:29 +0000 (10:25 -0700)]
[PATCH] SELinux inode security init
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch reworks the SELinux module code that handles inodes initialized
before the policy is initially loaded to also cover the case where a pseudo
filesystem such as selinuxfs or nfsd directly populate themselves.
The list of inode security structures is split into per-superblock lists
associated with each superblock security structure, and the initialization
is performed by superblock_doinit.
Andrew Morton [Thu, 14 Aug 2003 17:25:14 +0000 (10:25 -0700)]
[PATCH] Docbook: Make mandocs output more terse
From: Michael Still <mikal@stillhq.com>
This patch takes into account requests from various LKML members for the
mandocs output to be more terse. Information about the copyright, and
formatting of the man page is moved into a comment at the start of the
groff output.
Sample output can be found at:
http://www.stillhq.com/linux/mandocs/2.6.0-test3-bk1/
Andrew Morton [Thu, 14 Aug 2003 17:24:59 +0000 (10:24 -0700)]
[PATCH] Use mark_page_accessed() in follow_page()
Touching a page via follow_page() counts as a reference so we should be
either setting the referenced bit in the pte or running mark_page_accessed().
Altering the pte is tricky because we haven't implemented an atomic
pte_mkyoung(). And mark_page_accessed() is better anyway because it has more
aging state: it can move the page onto the active list.