There's a conflict between parport_pc and parport_serial. parport_pc is
claiming the 9735 and 9835 devices, but parport_pc wants to handle them. So
remove support for those devices from parport_pc.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
XFS will under some circumstances use vmap() to map pagecache pages. These
are on the LRU. So the recent patch to use page->lru in the vmalloc() code
corrupts these pages's ->lru pointers. Revert.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Thu, 17 Mar 2005 05:45:21 +0000 (21:45 -0800)]
[PATCH] PPC64 Implement non-executable stacks
This patch, by Jake Moilanen with some further hacking from me, adds a
real execute permission bit to the linux PTEs on PPC64, and connects
that into the kernel infrastructure for implementing non-executable
stacks and heaps. This means that on any PPC64 cpu since the POWER4
(i.e. POWER4, PPC970, PPC970FX, POWER4+, POWER5) you will get a
segfault if you try to execute instructions from a region that doesn't
have PROT_EXEC permission. The patch also marks the pages of the
linear mapping that aren't part of the kernel text as non-executable.
Andrew and Linus, could you try this on your G5s? I have tried it
here on a Debian system and a SLES9 system and everything runs fine,
but I haven't been able to try it on YDL, FC or RHEL4.
With this patch we default to executable stack and read-implies-exec
behaviour when there is no PT_GNU_STACK program header entry, or when
there is one and it indicates the stack is executable. For 32-bit
processes, the heap is always executable, because the PLT contains
instructions and it ends up in the bss segment.
Linus Torvalds [Thu, 17 Mar 2005 04:07:27 +0000 (20:07 -0800)]
umount: avoid racy block-size set
Setting the block size back to the original blocksize at umount time
is unnecessary, and can cause buffer errors and infinite loops in
__getblk_slow, and possibly other problems.
Just getting bdev_lock instead causes other issues, namely AB-BA deadlocks
with /proc/meminfo etc. Just drop it, and replace with a "sync_blockdev()"
to cause a flush (which was a side effect of changing the blocksize before).
Debugging and testing by Jeff Mahoney <jeffm@suse.com>
Hugh Dickins [Wed, 16 Mar 2005 07:05:28 +0000 (23:05 -0800)]
[PATCH] tasklist left locked
On 4-way SMP, about one reboot in twenty hangs while killing processes:
exit needs exclusive tasklist_lock, but something still holds read_lock.
do_signal_stop race case misses unlock, and fixing it fixes the symptom.
Signed-off-by: Hugh Dickins <hugh@veritas.com> Acked-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Herbert Xu [Wed, 16 Mar 2005 06:44:28 +0000 (22:44 -0800)]
[IPV4]: Make ipt_REJECT use icmp_send again.
As it is ipt_REJECT doesn't work at all with IPsec. Despite my efforts
previously in making the policy lookups work there I neglected to change
the final call to dst_output so the policy lookup is useless.
ipt_REJECT also had a number of deviations from icmp_send which seems to
be unjustified. For examples it ignored source routing IP options.
There was a bug in icmp_send too :) It didn't set the ICMP type/code
values for the policy lookup.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Sven Henkel [Wed, 16 Mar 2005 06:07:17 +0000 (22:07 -0800)]
[TCP]: Use get_unaligned() in tcp_parse_options()
TCP options are not guaranteed to be aligned at all, so we should use
get_unaligned when accessing u16- or u32-values in the TCP
options header to avoid alignment errors on some platforms. The patch
applies to vanilla 2.6.11.
Signed-off-by: Sven Henkel <shenkel@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This patch is wrong. This is the *one* place where we do need to
use the path MTU. The reason is that when the packet is fragmented
we only pay for the IPsec overhead once over all and not once for
each fragment.
Please revert it for now.
The trailer_len in ip_append_data is not quite right as the trailer's
length depends on the length of the entire packet. However, it should
be harmless since ESP knows how to extend the packet when necessary.
Tony Luck [Wed, 16 Mar 2005 01:37:39 +0000 (17:37 -0800)]
[IA64] override for pgd_addr_end to step around holes
Every user region has a hole in the middle where we don't have
enough bits in pgd+pmd+pte so pgd_addr_end needs some extra math
to compute the virtual address base of the next pgd entry.
Thanks to Dave Miller for pointing me in the right direction.
Peter Chubb [Tue, 15 Mar 2005 19:08:22 +0000 (11:08 -0800)]
[IPV6]: Fix non-modular build.
Remove __exit from functions calls from functions
other than module_exit().
Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au> Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Trond Myklebust [Tue, 15 Mar 2005 11:44:28 +0000 (03:44 -0800)]
[PATCH] NFS: Ensure that dirty pages are written with the right creds.
When doing shared mmap writes, the resulting dirty NFS pages may
find themselves incapable of being flushed out if I/O is started
after the file was released.
Make sure we start I/O on all existing dirty pages in nfs_file_release().
Jesse Barnes [Tue, 15 Mar 2005 11:36:55 +0000 (03:36 -0800)]
[PATCH] gcc4 fix for sn_serial.c
The sal_console and sal_console_uart structures have a circular
relationship since they both initialize member fields to pointers of one
another. The current code forward declares sal_console_uart as extern so
that sal_console can take its address, but gcc4 complains about this since
the real definition of sal_console_uart is marked 'static'. This patch
just removes the static qualifier from sal_console_uart to avoid the
inconsistency.
Andrew Morton [Tue, 15 Mar 2005 11:36:06 +0000 (03:36 -0800)]
[PATCH] dvb pll warning fix
CC [M] drivers/media/dvb/frontends/dvb-pll.o
drivers/media/dvb/frontends/dvb-pll.c:38: warning: excess elements in array initializer
drivers/media/dvb/frontends/dvb-pll.c:38: warning: (near initialization for `dvb_pll_thomson_dtt7579.entries')
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 15 Mar 2005 11:35:49 +0000 (03:35 -0800)]
[PATCH] saa7134 !CONFIG_MODULES build fix
drivers/media/video/saa7134/saa7134-core.c: In function `saa7134_fini':
drivers/media/video/saa7134/saa7134-core.c:1215: `pending_registered' undeclared (first use in this function)
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
James Bottomley [Tue, 15 Mar 2005 12:12:11 +0000 (06:12 -0600)]
From: James.Smart@Emulex.Com
FC Remote Port Patch
This is the reworked patch for fc_remote ports.
It started with the "patch2" converted for scsi-misc-2.6 (and
updated for the revised midlayer scsi target implementation)
Incorporates Andrew Vasquez's updates
Adds scsi target scanning on behalf of the driver based on
addition of a per-host workq.
This patch adds support for FC Remote Ports (which may or may not
be FCP targets) to the fc transport. The attributes for the ports are
in support of HBAAPI. This patch also implements consistent scsi target
id bindings for the remote ports.
This patch also moves the dev_loss attribute from the target-level
fc_transport device to the remote port device. It also deletes the
link_down attribute. The fc_target_block and fc_target_unblock
routines have been replaced by fc_remote_port_block and
fc_remote_port_unblock. The fc_host_block/unblock functions have
been removed (unused).
A new interface has been created - fc_remove_host(), which a driver
must call immediately prior to scsi_remove_host() when unloading.
This tears down the transport, starget, and sdev devices.
The transport, which utilizes the midlayer mods to insert transport
entities between the shost and starget, results in a device tree
such as the following:
Andrew Vasquez [Tue, 15 Mar 2005 11:49:34 +0000 (05:49 -0600)]
[PATCH] target code updates to support scanned targets
* add scsi_target_block() and scsi_target_unblock() routines which
take a generic-device. Side note: there are mixture of
scsi_<object>_<action>() and scsi_<action>_<noun>() functions defined
in the scsi APIs -- going forward are there any 'guides' or
suggestions on which to choose?
* modify scsi_remove_target() to take a generic-device.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Kai Mäkisara [Tue, 15 Mar 2005 07:52:18 +0000 (01:52 -0600)]
[PATCH] SCSI tape security: require CAP_ADMIN for SG_IO etc.
The kernel currently allows any user permitted to access the tape device file
to send the tape drive commands that may either make the tape drivers internal
state inconsistent or to change the drive parameters so that other users find
the drive to be unusable. This patch changes ioctl handling so that SG_IO,
SCSI_IOCTL_COMMAND, etc. require CAP_ADMIN. This solves the consistency
problems for SCSI tapes. The st driver provides user-accessible commands to
change the drive parameters that users may need to access.
The SCSI command permissions were discussed widely on the linux lists but this
did not result in any useful refinement of the permissions. It may very well
be that the tape drives are the only devices that users are sometimes given
permissions to access and that have security problems with the current command
filtering. This patch solves the problem for tapes and no more elaborate
patches are needed.
Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Kai Mäkisara [Tue, 15 Mar 2005 07:48:37 +0000 (01:48 -0600)]
[PATCH] SCSI tape fixes: remove f_pos handling
This patch applies over the previous patch in this thread. The patch removes
updating filp->f_pos. It has been dead code since 2.6.8 and nobody has missed
it.
Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Paul Mackerras [Tue, 15 Mar 2005 07:38:47 +0000 (23:38 -0800)]
[PATCH] CAN-2005-0384: Remote Linux DoS on ppp servers
Martin Schulze writes:
> Ben Martel and Stephen Blackheath have discovered a denial-of-service attack
> that a client of pppd can make that can hang the server machine. The bug is
> in the Linux kernel 2.6 (tested on 2.6.9), but it looks like it also exists
> in the 2.4 series.
Yes, this is my bug. :(
I would just do this instead:
Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kai Mäkisara [Tue, 15 Mar 2005 04:37:07 +0000 (22:37 -0600)]
[PATCH] SCSI tape fixes: sense descriptor init, bsf->weof, blkno,
Problems fixed:
- the sense descriptor is cleared before filling
- BSF and BSFM are added to the commands causing automatic writing of filemark
if the previous operation was write (tar expects this)
- the block number is set to unknown (-1) if spacing forward ends at BLANK CHECK
- debugging printout of spacing counts fixed to work also with 64-bit systems
Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
James Bottomley [Tue, 15 Mar 2005 03:33:30 +0000 (21:33 -0600)]
Merge by hand
pci_ids.h (removal of on ID next to addition of another)
scsi_transport_iscsi.c: change of attribute_container_unregister
to transport_container_unregister.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Herbert Xu [Tue, 15 Mar 2005 02:21:42 +0000 (18:21 -0800)]
[NET]: Replace dst_pmtu with dst_mtu
This patch replaces most of the other uses of dst_pmtu with dst_mtu.
As far as I can tell these are either identical because dst->path == dst,
or they're a straightforward replacement of (the slightly incorrect)
dst_pmtu(dst) - dst->header_Len with dst_mtu(dst).
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Tue, 15 Mar 2005 02:19:37 +0000 (18:19 -0800)]
[IPV4/IPV6]: Take IPsec overhead into account in tunnels
This patch uses dst_mtu instead of dst_pmtu in the various tunnel
implementations. As it is they simply ignore the IPsec overhead.
This leads to bogus MTU values inside the tunnels.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Herbert Xu [Tue, 15 Mar 2005 02:18:07 +0000 (18:18 -0800)]
[IPV4/IPV6]: Fix IPsec calculation in ip_append_data/ip6_append_data
This patch fixes the IPsec overhead handling in ip_append_data and
ip6_append_data. As it is they assume that the IPsec overhead is
constant. This is not true as with ESP the IPsec overhead will vary
as the MTU varies.
The result is that they may produce packets that will exceed the MTU
when ESP is used. Had it taken the trailer_len into account, it would
have produced packets less than the real MTU.
By switching to dst_mtu we get the optimal result.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Dooks [Mon, 14 Mar 2005 22:46:53 +0000 (22:46 +0000)]
[ARM PATCH] 2537/2: S3C2410 - fix iomem warnings from sparse
Patch from Ben Dooks
Change all S3C24XX_VA defines to have the type `void __iomem *`
and the necessary changes to the other bits of the s3c24xx
support.
Note, the map_desc will need changing in the future to allow
`void __iomem *` instead of an unsigned long for IO
Signed-off-by: Ben Dooks Signed-off-by: Russell King
James Bottomley [Mon, 14 Mar 2005 15:34:59 +0000 (09:34 -0600)]
Add statistics to generic transport class
These were lost from the SCSI transport classes in
the transition to the generic classes. Ressurect it in
the generic class, since it's probable that more than SCSI
will want to use this.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>