Ben Collins [Sun, 4 May 2003 09:21:12 +0000 (02:21 -0700)]
[PATCH] ieee1394 update (r925)
- Remove some 2.4 compatibility macros
- Fix userspace pointer misuse in video1394 ioctl. Caught by the
Stanford Checker. Gotta love the automated systems.
- Move our hotplug stuff around, to make the transition to putting our
module dev table in mod_devicetable.h.
- Fix ohci1394 for possible crash with async stream packets. Cleaned up
some debug messages.
This fixes two bugs introduced by some 2.5 changes:
- O_NDELAY handling typo in floppy_open()
- handling of failed transfers in floppy_end_request()
(do equivalent of what 2.4 does)
Without first fix I was getting "floppy0: disk absent or changed during
operation" infinite loop on opening and without second fix, infinite loop
on error retry.
Now floppy driver seems to be (somehow) working :-).
This file was _the_ header for block-device related stuff in earlier
Linux versions, but nowdays there's just a few prototypes left that
really belong into blkdev.h or genhd.h (and in one case elevator.h).
This patch moves them over and removes everything but including
blkdev.h from blk.h Note that blkdev.h gets all the headers that
were included in blk.h inmplicitly too. Now we can start removing
all references to it an maybe kill it off before 2.6. *sniff*
Ben Collins [Sun, 4 May 2003 04:03:34 +0000 (21:03 -0700)]
[PATCH] Fix compat_ioctl
This fixes the compat_ioctl interface for the case where a NULL handler
is registered. This should produce a "compatible" as opposed to
"translated" interface for the specified ioctl. The patch was sent to
linux-kernel and no one complained (atleast with this second rev).
[PATCH] make __bdevname output more similar to bdevname
Currently __bdevname walks the obsolete list of block majors to
find a name for the given dev_t and falls back to unknown-block(%u,%u)
if that's not possible. Replace this with an attempted get_gendisk() +
disk_name. This means __bdevname can't be called from irq context
anymore, but as all old irq context callers are using bdevname() now
that fine (and I've added a big comment).
[PATCH] remove useless MOD_{INC,DEC}_USE_COUNT from sunrpc
- both rpciod_up and rpciod_down do a gratious inc/dec of the
use count - but we can't ever be inside those function unless
it's called from an other module -> totally useless
- rpciod() (the kernel thread) also bumps the refcount when starting
and decrements it when exiting. but as a different module must
initiate this using rpciod_up/rpciod_down this is again not needed.
(except when a module does rpciod_up without a matching rpciod_down -
but that a big bug anyway and we don't need to partially handle that
using module refcounts).
John Levon [Sat, 3 May 2003 11:42:55 +0000 (04:42 -0700)]
[PATCH] OProfile update
Schedule work away on an unmap, instead of calling it directly. Should result
in less lost samples, and it fixes a lock ordering problem buffer_sem <-> mmap_sem
John Levon [Sat, 3 May 2003 11:42:12 +0000 (04:42 -0700)]
[PATCH] OProfile update
Clear up the code around start_sem so it's more obvious, and remove a pointless
down/up pair on buffer_sem (shutdown is already synchronised in sync_stop()).
James Morris [Sat, 3 May 2003 03:01:33 +0000 (20:01 -0700)]
[NET]: Cosmetic cleanups of jhash code.
- Consistent naming (i.e. jhash_xxx)
- Reduces the 2&1 word variants to call jhash_3words()
- Replaces __inline__ with inline.
Using sk_set_owner and having THIS_MODULE in the struct proto_ops
registered with the core. The sk_set_owner cases are in the callers
of tp->af_specific->syn_recv_sock so as to not have spurious extra
sk_set_owner calls in the ipv6 code that reuses ipv4 code.
Using sk_set_owner and having THIS_MODULE in the struct proto_ops
registered with the core, also remove the MOD_{INC,DEC}_USE_COUNT,
as they are not needed anymore with this new net module infrastructure
for struct sock and struct socket. (well, see the netdev discussion :)
As per discussions in netdev we'll probably be moving to a brand new scheme, but this
set of changesets have been discussed and are an improvement to the current situation
and were already done prior to this thread happening.
David S. Miller [Fri, 2 May 2003 17:43:27 +0000 (10:43 -0700)]
[NET]: Fix hashing exploits in ipv4 routing, IP conntrack, and TCP synq.
Several hash table implementations in the networking were
remotely exploitable. Remote attackers could launch attacks
whereby, using carefully choosen forged source addresses, make
every routing cache entry get hashed into the same hash chain.
Netfilter's IP conntrack module and the TCP syn-queue implementation
had identical vulnerabilities and have been fixed too.
The choosen solution to the problem involved using Bob's Jenkins
hash along with a randomly choosen input. For the ipv4 routing
cache we take things one step further and periodically choose a
new random secret. By default this happens every 10 minutes, but
this is configurable by the user via sysctl knobs.
o net/core/dev: add missing ++*pos in dev_seq_next
This cures the problem reported in lkml when there are lots
of net devices, tested with 50 dummy interfaces, there is
still one glitch when there are more info produced than
one page, where one entry is missed, I'm working on this
one now.
Ah, dev_seq_show needs only seq_puts, not the more expensive
seq_printf.
Stephen Lord [Fri, 2 May 2003 23:54:06 +0000 (01:54 +0200)]
[XFS] Fix a use after free in the unwritten extent code. Also rework the
interface to the allocator to have its own flag set, and always
go through the same interface in all cases rather than having
unwritten extent requests take a different path from all others.
Stephen Lord [Fri, 2 May 2003 23:51:28 +0000 (01:51 +0200)]
[XFS] Rework the remount path to better seperate the linux vfs portion
and the xfs portion of it. Move the code to more appropriate
places in the tree.
Roland McGrath [Thu, 1 May 2003 16:18:50 +0000 (09:18 -0700)]
[PATCH] i386 vsyscall DSO implementation
This creates the full debugging input for the vsyscall page as a DSO,
allowing for debuggers and exception handlers to correctly handle the
processor state during the vsyscall.
There was a small bug in the core dump changes in the original patch I
posted. I fixed that, and the rest of the patch is unchanged.
Try to avoid calling "pfn_to_page()" on invalid pfn's. It used to be
legal, but the CONFIG_DISCONTIGMEM people want us to try to avoid it,
since they do magic stuff in their "pfn_to_page" translations.