pandora-kernel.git
17 years ago[DLM] fix iovec length in recvmsg
Patrick Caulfield [Thu, 12 Oct 2006 09:41:22 +0000 (10:41 +0100)]
[DLM] fix iovec length in recvmsg

The DLM always passes the iovec length as 1, this is wrong when the circular
buffer wraps round.

Signed-Off-By: Patrick Caulfield <pcaulfie@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
17 years ago[GFS2] Pass the correct value to kunmap_atomic
Russell Cattelan [Thu, 12 Oct 2006 13:23:41 +0000 (09:23 -0400)]
[GFS2] Pass the correct value to kunmap_atomic

Pass kaddr rather than (incorrect) struct page to kunmap_atomic.

Signed-off-by: Russell Cattelan <cattelan@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
17 years ago[GFS2] Fix bug where lock not held
Steven Whitehouse [Wed, 11 Oct 2006 17:34:59 +0000 (13:34 -0400)]
[GFS2] Fix bug where lock not held

The log lock needs to be held when manipulating the counter
for the number of free journal blocks.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
17 years ago[DLM] Kconfig: don't show an empty DLM menu
Adrian Bunk [Sun, 8 Oct 2006 02:30:48 +0000 (04:30 +0200)]
[DLM] Kconfig: don't show an empty DLM menu

Don't show an empty "Distributed Lock Manager" menu if IP_SCTP=n.

Reported by Dmytro Bagrii in kernel Bugzilla #7268.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Patrick Caulfield <pcaulfie@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
17 years ago[GFS2] Fix uninitialised variable
Steven Whitehouse [Tue, 10 Oct 2006 17:45:15 +0000 (13:45 -0400)]
[GFS2] Fix uninitialised variable

This fixes a bug where, in certain cases an uninitialised variable
could cause a dereference of a NULL pointer in gfs2_commit_write().
Also a typo in a comment is fixed at the same time.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
17 years ago[GFS2] Fix a size calculation error
Russell Cattelan [Mon, 9 Oct 2006 17:11:54 +0000 (12:11 -0500)]
[GFS2] Fix a size calculation error

Fix a size calculation error.
The size was incorrect being computed as a
negative length and then being passed to an
unsigned parameter.

This in turn would cause the allocator to
think it needed enough meta data to store
a gigabyte file for every file created.

Signed-off-by: Russell Cattelan <cattelan@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
17 years ago[PATCH] more kernel_execve() fallout (sbus)
Al Viro [Thu, 12 Oct 2006 18:07:59 +0000 (19:07 +0100)]
[PATCH] more kernel_execve() fallout (sbus)

drivers/sbus/char stuff using kernel_execve() needs linux/syscalls.h
now; includes trimmed, while we are at it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] Fix build breakage with CONFIG_X86_VSMP
Ravikiran Thirumalai [Thu, 12 Oct 2006 19:17:52 +0000 (12:17 -0700)]
[PATCH] Fix build breakage with CONFIG_X86_VSMP

Kernel build breaks with CONFIG_X86_VSMP.  Probably due to some header
file cleanups in 2.6.19-rc1.

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] fixing includes in alpha_ksyms.c
Al Viro [Thu, 12 Oct 2006 18:00:35 +0000 (19:00 +0100)]
[PATCH] fixing includes in alpha_ksyms.c

kernel_execve() fallout

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[CIFS] Workaround incomplete byte length returned by some
Steve French [Thu, 12 Oct 2006 17:49:24 +0000 (17:49 +0000)]
[CIFS] Workaround incomplete byte length returned by some
servers on small SMB responses

Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
Linus Torvalds [Thu, 12 Oct 2006 15:33:23 +0000 (08:33 -0700)]
Merge /pub/scm/linux/kernel/git/lethal/sh-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6:
  sh: SH-4A UBC support
  sh: interrupt exception handling rework
  sh: Default enable R7780RP IRQs.
  sh: Zero-out coherent buffer in consistent_alloc().
  sh: Convert IPR-IRQ to IRQ chip.
  sh: Convert INTC2 IRQ handler to irq_chip.
  sh: Fix pr_debug statements for sh4
  sh: Convert r7780rp IRQ handler to IRQ chip.
  sh: Updates for IRQ handler changes.
  sh: Kill off timer_ops get_frequency().
  sh: First step at generic timeofday support.

17 years ago[PATCH] ide-cd: one more missing REQ_TYPE_CMD_ATA check
Jens Axboe [Thu, 12 Oct 2006 15:24:52 +0000 (17:24 +0200)]
[PATCH] ide-cd: one more missing REQ_TYPE_CMD_ATA check

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago[CIFS] cifs Kconfig: don't select CONNECTOR
Andrew Morton [Thu, 12 Oct 2006 15:07:55 +0000 (15:07 +0000)]
[CIFS] cifs Kconfig: don't select CONNECTOR
`select' is a bit obnoxious: the option keeps on coming back
and it's hard to work out what to do to make it go away again.
The use of `depends on' is preferred (although it has
usability problems too..)

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years agoMerge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
Linus Torvalds [Thu, 12 Oct 2006 14:49:46 +0000 (07:49 -0700)]
Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block

* 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block:
  [PATCH] block layer: ioprio_best function fix
  [PATCH] ide-cd: fix breakage with internally queued commands
  [PATCH] block layer: elv_iosched_show should get elv_list_lock
  [PATCH] splice: fix pipe_to_file() ->prepare_write() error path
  [PATCH] block layer: elevator_find function cleanup
  [PATCH] elevator: elevator_type member not used

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 12 Oct 2006 14:38:59 +0000 (07:38 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [PKT_SCHED] sch_htb: use rb_first() cleanup
  [RTNETLINK]: Fix use of wrong skb in do_getlink()
  [DECNET]: Fix sfuzz hanging on 2.6.18
  [NET]: Do not memcmp() over pad bytes of struct flowi.
  [NET]: Introduce protocol-specific destructor for time-wait sockets.
  [NET]: Use typesafe inet_twsk() inline function instead of cast.
  [NET]: Use hton{l,s}() for non-initializers.
  [TCP]: Use TCPOLEN_TSTAMP_ALIGNED macro instead of magic number.
  [IPV6]: Seperate sit driver to extra module (addrconf.c changes)
  [IPV6]: Seperate sit driver to extra module
  [NET]: File descriptor loss while receiving SCM_RIGHTS
  [SCTP]: Fix the RX queue size shown in /proc/net/sctp/assocs output.
  [SCTP]: Fix receive buffer accounting.
  SELinux: Bug fix in polidydb_destroy
  IPsec: fix handling of errors for socket policies
  IPsec: correct semantics for SELinux policy matching
  IPsec: propagate security module errors up from flow_cache_lookup
  NetLabel: use SECINITSID_UNLABELED for a base SID
  NetLabel: fix a cache race condition

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Thu, 12 Oct 2006 14:37:59 +0000 (07:37 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC32]: Fix sparc32 modpost warnings.
  [SPARC32]: Fix sparc32 modpost warnings with sunzilog
  [SPARC32]: Mark srmmu_nocache_init as __init.
  [SPARC32]: pcic.c needs asm/irq_regs.h

17 years ago[PATCH] x86_64 irq: Properly update vector_irq
Eric W. Biederman [Thu, 12 Oct 2006 04:44:46 +0000 (22:44 -0600)]
[PATCH] x86_64 irq: Properly update vector_irq

This patch fixes my one line thinko where I was clearing
the vector_irq entries on the wrong cpus.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] block layer: ioprio_best function fix
Vasily Tarasov [Thu, 12 Oct 2006 13:09:51 +0000 (15:09 +0200)]
[PATCH] block layer: ioprio_best function fix

Currently ioprio_best function first checks wethere aioprio or bioprio equals
IOPRIO_CLASS_NONE (ioprio_valid() macros does that) and if it is so it returns
bioprio/aioprio appropriately. Thus the next four lines, that set aclass/bclass
to IOPRIO_CLASS_BE, if aclass/bclass == IOPRIO_CLASS_NONE, are never executed.

The second problem: if aioprio from class IOPRIO_CLASS_NONE and bioprio from
class IOPRIO_CLASS_IDLE are passed to ioprio_best function, it will return
IOPRIO_CLASS_IDLE. It means that during __make_request we can merge two
requests and set the priority of merged request to IDLE, while one of
the initial requests originates from a process with NONE (default) priority.
So we can get a situation when a process with default ioprio will experience
IO starvation, while there is no process from real-time class in the system.

Just removing ioprio_valid check should correct situation.

Signed-off-by: Vasily Tarasov <vtaras@openvz.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago[PATCH] ide-cd: fix breakage with internally queued commands
Jens Axboe [Thu, 12 Oct 2006 13:08:45 +0000 (15:08 +0200)]
[PATCH] ide-cd: fix breakage with internally queued commands

We still need to maintain a private PC style command, since it
isn't completely unified with REQ_TYPE_BLOCK_PC yet.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago[PATCH] block layer: elv_iosched_show should get elv_list_lock
Vasily Tarasov [Wed, 11 Oct 2006 11:26:30 +0000 (13:26 +0200)]
[PATCH] block layer: elv_iosched_show should get elv_list_lock

elv_iosched_show function iterates other elv_list, hence
elv_list_lock should be got.

Signed-off-by: Vasily Tarasov <vtaras@openvz.org>
Signed-off-by: Vasily Tarasov <jens.axboe@oracle.com>
17 years ago[PATCH] splice: fix pipe_to_file() ->prepare_write() error path
Jens Axboe [Wed, 11 Oct 2006 08:03:09 +0000 (10:03 +0200)]
[PATCH] splice: fix pipe_to_file() ->prepare_write() error path

Don't jump to the unlock+release path, we already did that.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago[PATCH] block layer: elevator_find function cleanup
Vasily Tarasov [Wed, 11 Oct 2006 07:24:27 +0000 (09:24 +0200)]
[PATCH] block layer: elevator_find function cleanup

We can easily produce search through the elevator list
without introducing additional elevator_type variable.

Signed-off-by: Vasily Tarasov <vtaras@openvz.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago[PATCH] elevator: elevator_type member not used
Jens Axboe [Mon, 9 Oct 2006 11:04:35 +0000 (13:04 +0200)]
[PATCH] elevator: elevator_type member not used

elevator_type field in elevator_type structure is useless:
it isn't used anywhere in kernel sources.

Signed-off-by: Vasily Tarasov <vtaras@openvz.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago[PKT_SCHED] sch_htb: use rb_first() cleanup
Akinbou Mita [Thu, 12 Oct 2006 08:52:05 +0000 (01:52 -0700)]
[PKT_SCHED] sch_htb: use rb_first() cleanup

Use rb_first() to get first entry in rb tree.

Signed-off-by: Akinbou Mita <akinobu.mita@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[RTNETLINK]: Fix use of wrong skb in do_getlink()
Patrick McHardy [Thu, 12 Oct 2006 08:50:30 +0000 (01:50 -0700)]
[RTNETLINK]: Fix use of wrong skb in do_getlink()

skb is the netlink query, nskb is the reply message.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[DECNET]: Fix sfuzz hanging on 2.6.18
Patrick McHardy [Thu, 12 Oct 2006 08:48:20 +0000 (01:48 -0700)]
[DECNET]: Fix sfuzz hanging on 2.6.18

Dave Jones wrote:
> sfuzz         D 724EF62A  2828 28717  28691                     (NOTLB)
>        cd69fe98 00000082 0000012d 724ef62a 0001971a 00000010 00000007 df6d22b0
>        dfd81080 725bbc5e 0001971a 000cc634 00000001 df6d23bc c140e260 00000202
>        de1d5ba0 cd69fea0 de1d5ba0 00000000 00000000 de1d5b60 de1d5b8c de1d5ba0
> Call Trace:
>  [<c05b1708>] lock_sock+0x75/0xa6
>  [<e0b0b604>] dn_getname+0x18/0x5f [decnet]
>  [<c05b083b>] sys_getsockname+0x5c/0xb0
>  [<c05b0b46>] sys_socketcall+0xef/0x261
>  [<c0403f97>] syscall_call+0x7/0xb
> DWARF2 unwinder stuck at syscall_call+0x7/0xb
>
> I wonder if the plethora of lockdep related changes inadvertantly broke something?

Looks like unbalanced locking.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Do not memcmp() over pad bytes of struct flowi.
David S. Miller [Thu, 12 Oct 2006 07:49:15 +0000 (00:49 -0700)]
[NET]: Do not memcmp() over pad bytes of struct flowi.

They are not necessarily initialized to zero by the compiler,
for example when using run-time initializers of automatic
on-stack variables.

Noticed by Eric Dumazet and Patrick McHardy.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Introduce protocol-specific destructor for time-wait sockets.
YOSHIFUJI Hideaki [Wed, 11 Oct 2006 02:42:09 +0000 (19:42 -0700)]
[NET]: Introduce protocol-specific destructor for time-wait sockets.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Use typesafe inet_twsk() inline function instead of cast.
YOSHIFUJI Hideaki [Wed, 11 Oct 2006 02:41:46 +0000 (19:41 -0700)]
[NET]: Use typesafe inet_twsk() inline function instead of cast.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Use hton{l,s}() for non-initializers.
YOSHIFUJI Hideaki [Wed, 11 Oct 2006 02:41:21 +0000 (19:41 -0700)]
[NET]: Use hton{l,s}() for non-initializers.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Use TCPOLEN_TSTAMP_ALIGNED macro instead of magic number.
YOSHIFUJI Hideaki [Wed, 11 Oct 2006 02:40:50 +0000 (19:40 -0700)]
[TCP]: Use TCPOLEN_TSTAMP_ALIGNED macro instead of magic number.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV6]: Seperate sit driver to extra module (addrconf.c changes)
Joerg Roedel [Tue, 10 Oct 2006 21:49:53 +0000 (14:49 -0700)]
[IPV6]: Seperate sit driver to extra module (addrconf.c changes)

This patch contains the changes to net/ipv6/addrconf.c to remove sit
specific code if the sit driver is not selected.

Signed-off-by: Joerg Roedel <joro-lkml@zlug.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV6]: Seperate sit driver to extra module
Joerg Roedel [Tue, 10 Oct 2006 21:47:44 +0000 (14:47 -0700)]
[IPV6]: Seperate sit driver to extra module

This patch removes the driver of the IPv6-in-IPv4 tunnel driver (sit)
from the IPv6 module. It adds an option to Kconfig which makes it
possible to compile it as a seperate module.

Signed-off-by: Joerg Roedel <joro-lkml@zlug.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: File descriptor loss while receiving SCM_RIGHTS
Miklos Szeredi [Tue, 10 Oct 2006 04:42:14 +0000 (21:42 -0700)]
[NET]: File descriptor loss while receiving SCM_RIGHTS

If more than one file descriptor was sent with an SCM_RIGHTS message,
and on the receiving end, after installing a nonzero (but not all)
file descritpors the process runs out of fds, then the already
installed fds will be lost (userspace will have no way of knowing
about them).

The following patch makes sure, that at least the already installed
fds are sent to userspace.  It doesn't solve the issue of losing file
descriptors in case of an EFAULT on the userspace buffer.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Fix the RX queue size shown in /proc/net/sctp/assocs output.
Vlad Yasevich [Tue, 10 Oct 2006 04:34:26 +0000 (21:34 -0700)]
[SCTP]: Fix the RX queue size shown in /proc/net/sctp/assocs output.

Show the true receive buffer usage.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Fix receive buffer accounting.
Vlad Yasevich [Tue, 10 Oct 2006 04:34:04 +0000 (21:34 -0700)]
[SCTP]: Fix receive buffer accounting.

When doing receiver buffer accounting, we always used skb->truesize.
This is problematic when processing bundled DATA chunks because for
every DATA chunk that could be small part of one large skb, we would
charge the size of the entire skb.  The new approach is to store the
size of the DATA chunk we are accounting for in the sctp_ulpevent
structure and use that stored value for accounting.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoSELinux: Bug fix in polidydb_destroy
Chad Sellers [Fri, 6 Oct 2006 20:09:52 +0000 (16:09 -0400)]
SELinux: Bug fix in polidydb_destroy

This patch fixes two bugs in policydb_destroy. Two list pointers
(policydb.ocontexts[i] and policydb.genfs) were not being reset to NULL when
the lists they pointed to were being freed. This caused a problem when the
initial policy load failed, as the policydb being destroyed was not a
temporary new policydb that was thrown away, but rather was the global
(active) policydb. Consequently, later functions, particularly
sys_bind->selinux_socket_bind->security_node_sid and
do_rw_proc->selinux_sysctl->selinux_proc_get_sid->security_genfs_sid tried
to dereference memory that had previously been freed.

Signed-off-by: Chad Sellers <csellers@tresys.com>
Signed-off-by: James Morris <jmorris@namei.org>
17 years agoIPsec: fix handling of errors for socket policies
Venkat Yekkirala [Thu, 5 Oct 2006 20:42:35 +0000 (15:42 -0500)]
IPsec: fix handling of errors for socket policies

This treats the security errors encountered in the case of
socket policy matching, the same as how these are treated in
the case of main/sub policies, which is to return a full lookup
failure.

Signed-off-by: Venkat Yekkirala <vyekkirala@TrustedCS.com>
Signed-off-by: James Morris <jmorris@namei.org>
17 years agoIPsec: correct semantics for SELinux policy matching
Venkat Yekkirala [Thu, 5 Oct 2006 20:42:18 +0000 (15:42 -0500)]
IPsec: correct semantics for SELinux policy matching

Currently when an IPSec policy rule doesn't specify a security
context, it is assumed to be "unlabeled" by SELinux, and so
the IPSec policy rule fails to match to a flow that it would
otherwise match to, unless one has explicitly added an SELinux
policy rule allowing the flow to "polmatch" to the "unlabeled"
IPSec policy rules. In the absence of such an explicitly added
SELinux policy rule, the IPSec policy rule fails to match and
so the packet(s) flow in clear text without the otherwise applicable
xfrm(s) applied.

The above SELinux behavior violates the SELinux security notion of
"deny by default" which should actually translate to "encrypt by
default" in the above case.

This was first reported by Evgeniy Polyakov and the way James Morris
was seeing the problem was when connecting via IPsec to a
confined service on an SELinux box (vsftpd), which did not have the
appropriate SELinux policy permissions to send packets via IPsec.

With this patch applied, SELinux "polmatching" of flows Vs. IPSec
policy rules will only come into play when there's a explicit context
specified for the IPSec policy rule (which also means there's corresponding
SELinux policy allowing appropriate domains/flows to polmatch to this context).

Secondly, when a security module is loaded (in this case, SELinux), the
security_xfrm_policy_lookup() hook can return errors other than access denied,
such as -EINVAL.  We were not handling that correctly, and in fact
inverting the return logic and propagating a false "ok" back up to
xfrm_lookup(), which then allowed packets to pass as if they were not
associated with an xfrm policy.

The solution for this is to first ensure that errno values are
correctly propagated all the way back up through the various call chains
from security_xfrm_policy_lookup(), and handled correctly.

Then, flow_cache_lookup() is modified, so that if the policy resolver
fails (typically a permission denied via the security module), the flow
cache entry is killed rather than having a null policy assigned (which
indicates that the packet can pass freely).  This also forces any future
lookups for the same flow to consult the security module (e.g. SELinux)
for current security policy (rather than, say, caching the error on the
flow cache entry).

This patch: Fix the selinux side of things.

This makes sure SELinux polmatching of flow contexts to IPSec policy
rules comes into play only when an explicit context is associated
with the IPSec policy rule.

Also, this no longer defaults the context of a socket policy to
the context of the socket since the "no explicit context" case
is now handled properly.

Signed-off-by: Venkat Yekkirala <vyekkirala@TrustedCS.com>
Signed-off-by: James Morris <jmorris@namei.org>
17 years agoIPsec: propagate security module errors up from flow_cache_lookup
James Morris [Thu, 5 Oct 2006 20:42:27 +0000 (15:42 -0500)]
IPsec: propagate security module errors up from flow_cache_lookup

When a security module is loaded (in this case, SELinux), the
security_xfrm_policy_lookup() hook can return an access denied permission
(or other error).  We were not handling that correctly, and in fact
inverting the return logic and propagating a false "ok" back up to
xfrm_lookup(), which then allowed packets to pass as if they were not
associated with an xfrm policy.

The way I was seeing the problem was when connecting via IPsec to a
confined service on an SELinux box (vsftpd), which did not have the
appropriate SELinux policy permissions to send packets via IPsec.

The first SYNACK would be blocked, because of an uncached lookup via
flow_cache_lookup(), which would fail to resolve an xfrm policy because
the SELinux policy is checked at that point via the resolver.

However, retransmitted SYNACKs would then find a cached flow entry when
calling into flow_cache_lookup() with a null xfrm policy, which is
interpreted by xfrm_lookup() as the packet not having any associated
policy and similarly to the first case, allowing it to pass without
transformation.

The solution presented here is to first ensure that errno values are
correctly propagated all the way back up through the various call chains
from security_xfrm_policy_lookup(), and handled correctly.

Then, flow_cache_lookup() is modified, so that if the policy resolver
fails (typically a permission denied via the security module), the flow
cache entry is killed rather than having a null policy assigned (which
indicates that the packet can pass freely).  This also forces any future
lookups for the same flow to consult the security module (e.g. SELinux)
for current security policy (rather than, say, caching the error on the
flow cache entry).

Signed-off-by: James Morris <jmorris@namei.org>
17 years agoNetLabel: use SECINITSID_UNLABELED for a base SID
paul.moore@hp.com [Thu, 5 Oct 2006 22:28:24 +0000 (18:28 -0400)]
NetLabel: use SECINITSID_UNLABELED for a base SID

This patch changes NetLabel to use SECINITSID_UNLABLELED as it's source of
SELinux type information when generating a NetLabel context.

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: James Morris <jmorris@namei.org>
17 years agoNetLabel: fix a cache race condition
paul.moore@hp.com [Wed, 4 Oct 2006 15:46:31 +0000 (11:46 -0400)]
NetLabel: fix a cache race condition

Testing revealed a problem with the NetLabel cache where a cached entry could
be freed while in use by the LSM layer causing an oops and other problems.
This patch fixes that problem by introducing a reference counter to the cache
entry so that it is only freed when it is no longer in use.

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: James Morris <jmorris@namei.org>
17 years ago[SPARC32]: Fix sparc32 modpost warnings.
Martin Habets [Wed, 11 Oct 2006 21:58:30 +0000 (14:58 -0700)]
[SPARC32]: Fix sparc32 modpost warnings.

Fix these 2.6.19-rc1 build warnings from modpost:

WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'core_kernel_text' (at offset 0x3e060) and '__kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'core_kernel_text' (at offset 0x3e064) and '__kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'core_kernel_text' (at offset 0x3e07c) and '__kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'core_kernel_text' (at offset 0x3e080) and '__kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'is_ksym_addr' (at offset 0x4b3a4) and 'kallsyms_expand_symbol'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'is_ksym_addr' (at offset 0x4b3a8) and 'kallsyms_expand_symbol'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'is_ksym_addr' (at offset 0x4b3b4) and 'kallsyms_expand_symbol'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'is_ksym_addr' (at offset 0x4b3e4) and 'kallsyms_expand_symbol'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'get_symbol_pos' (at offset 0x4b640) and 'kallsyms_lookup_size_offset'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'get_symbol_pos' (at offset 0x4b644) and 'kallsyms_lookup_size_offset'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'get_symbol_pos' (at offset 0x4b654) and 'kallsyms_lookup_size_offset'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'get_symbol_pos' (at offset 0x4b658) and 'kallsyms_lookup_size_offset'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'get_symbol_pos' (at offset 0x4b68c) and 'kallsyms_lookup_size_offset'

The crux of the matter is that modpost only checks the relocatable
sections. i386 vmlinux has none, so modpost does no checking on it (it
does on the modules).  However, sparc vmlinux has plenty of
relocatable sections because it is being built with 'ld -r' (to allow
for btfixup processing).  So for sparc, modpost does do a lot of
checking. Sure enough, running modpost on arch/sparc/boot/image yields
no output (i.e. all is well).

modpost.c check_sec_ref() has:
                /* We want to process only relocation sections and not .init */
                if (sechdrs[i].sh_type == SHT_RELA) {
// check here
                } else if (sechdrs[i].sh_type == SHT_REL) {
// check here
}

Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC32]: Fix sparc32 modpost warnings with sunzilog
Martin Habets [Tue, 10 Oct 2006 21:44:01 +0000 (14:44 -0700)]
[SPARC32]: Fix sparc32 modpost warnings with sunzilog

Fix this 2.6.19-rc1 build warnings from modpost:

WARNING: vmlinux - Section mismatch: reference to .init.text:sunzilog_console_setup from .data between 'sunzilog_console' (at offset 0x8394) and 'devices_subsys'

Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC32]: Mark srmmu_nocache_init as __init.
Martin Habets [Tue, 10 Oct 2006 21:36:47 +0000 (14:36 -0700)]
[SPARC32]: Mark srmmu_nocache_init as __init.

Fix these 2.6.19-rc1 build warnings from modpost:

WARNING: vmlinux - Section mismatch: reference to .init.text:__alloc_bootmem from .text between 'srmmu_nocache_init' (at offset 0x1a0f8) and 'srmmu_mmu_info'
WARNING: vmlinux - Section mismatch: reference to .init.text:__alloc_bootmem from .text between 'srmmu_nocache_init' (at offset 0x1a118) and 'srmmu_mmu_info'
WARNING: vmlinux - Section mismatch: reference to .init.text:srmmu_early_allocate_ptable_skeleton from .text between 'srmmu_nocache_init' (at offset 0x1a188) and 'srmmu_mmu_info'

Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC32]: pcic.c needs asm/irq_regs.h
David S. Miller [Tue, 10 Oct 2006 21:17:05 +0000 (14:17 -0700)]
[SPARC32]: pcic.c needs asm/irq_regs.h

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[CIFS] Level 1 QPathInfo needed for proper OS2 support
Steve French [Thu, 12 Oct 2006 03:28:28 +0000 (03:28 +0000)]
[CIFS] Level 1 QPathInfo needed for proper OS2 support

Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years agosh: SH-4A UBC support
Ryusuke Sakato [Thu, 12 Oct 2006 03:16:13 +0000 (12:16 +0900)]
sh: SH-4A UBC support

A simple patch to enable the UBC on SH-4A.

Signed-off-by: Ryusuke Sakato <sakato@hsdv.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: interrupt exception handling rework
Paul Mundt [Thu, 12 Oct 2006 03:03:04 +0000 (12:03 +0900)]
sh: interrupt exception handling rework

Kill off interrupt_table for all of the CPU subtypes, we now
default in to stepping in to do_IRQ() for _all_ IRQ exceptions
and counting the spurious ones, rather than simply flipping on
the ones we cared about. This and enabling the IRQ by default
automatically has already uncovered a couple of bugs and IRQs
that weren't being caught, as well as some that are being
generated far too often (SCI Tx Data Empty, for example).

The general rationale is to use a marker for interrupt exceptions,
test for it in the handle_exception() path, and skip out to
do_IRQ() if it's found. Everything else follows the same behaviour
of finding the cached EXPEVT value in r2/r2_bank, we just rip out
the INTEVT read from entry.S entirely (except for in the kGDB NMI
case, which is another matter).

Note that while this changes the do_IRQ() semantics regarding r4
handling, they were fundamentally broken anyways (relying entirely
on r2_bank for the cached code). With this, we do the INTEVT read
from do_IRQ() itself (in the CONFIG_CPU_HAS_INTEVT case), or fall
back on r4 for the muxed IRQ number, which should also be closer
to what SH-2 and SH-2A want anyways.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Default enable R7780RP IRQs.
Paul Mundt [Thu, 12 Oct 2006 02:56:31 +0000 (11:56 +0900)]
sh: Default enable R7780RP IRQs.

Now that we've started accounting for spurious IRQs, change the
logic somewhat so that we have a better chance of catching them.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years ago[CIFS] fix typo in previous patch
Steve French [Thu, 12 Oct 2006 01:23:29 +0000 (01:23 +0000)]
[CIFS] fix typo in previous patch

Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years ago[CIFS] Fix old DOS time conversion to handle timezone
Steve French [Thu, 12 Oct 2006 00:02:32 +0000 (00:02 +0000)]
[CIFS] Fix old DOS time conversion to handle timezone

Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Wed, 11 Oct 2006 22:30:14 +0000 (15:30 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Pass NULL not 0 for pointer value.
  [MIPS] IP27: Make declaration of setup_replication_mask a proper prototype.
  [MIPS] BigSur: More useful defconfig.
  [MIPS] Cleanup definitions of speed_t and tcflag_t.
  [MIPS] Fix compilation warnings in arch/mips/sibyte/bcm1480/smp.c
  [MIPS] Optimize and cleanup get_saved_sp, set_saved_sp
  [MIPS] <asm/irq.h> does not need pt_regs anymore.
  [MIPS] Workaround for bug in gcc -EB / -EL options.
  [MIPS] Fix timer setup for Jazz

17 years ago[CIFS] Do not need to adjust for Jan/Feb for leap day
Steve French [Wed, 11 Oct 2006 18:49:24 +0000 (18:49 +0000)]
[CIFS] Do not need to adjust for Jan/Feb for leap day
calculation in 2100 (year divisible by 100)

Signed-off-by: Yehuda Sadeh Weinraub <Yehuda.Sadeh@expand.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years ago[MIPS] Pass NULL not 0 for pointer value.
Ralf Baechle [Wed, 11 Oct 2006 18:30:03 +0000 (19:30 +0100)]
[MIPS] Pass NULL not 0 for pointer value.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP27: Make declaration of setup_replication_mask a proper prototype.
Ralf Baechle [Wed, 11 Oct 2006 17:35:33 +0000 (18:35 +0100)]
[MIPS] IP27: Make declaration of setup_replication_mask a proper prototype.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] BigSur: More useful defconfig.
Ralf Baechle [Wed, 11 Oct 2006 00:42:30 +0000 (01:42 +0100)]
[MIPS] BigSur: More useful defconfig.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cleanup definitions of speed_t and tcflag_t.
Ralf Baechle [Wed, 11 Oct 2006 00:22:12 +0000 (01:22 +0100)]
[MIPS] Cleanup definitions of speed_t and tcflag_t.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Fix compilation warnings in arch/mips/sibyte/bcm1480/smp.c
Mark Mason [Wed, 11 Oct 2006 00:03:10 +0000 (17:03 -0700)]
[MIPS] Fix compilation warnings in arch/mips/sibyte/bcm1480/smp.c

Signed-off-by: Mark Mason <mason@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Optimize and cleanup get_saved_sp, set_saved_sp
Atsushi Nemoto [Tue, 10 Oct 2006 13:46:52 +0000 (22:46 +0900)]
[MIPS] Optimize and cleanup get_saved_sp, set_saved_sp

If CONFIG_BUILD_ELF64 was not selected and gcc had -msym32 option
(i.e. 4.0 or newer), there is no point to use %highest, %higher for
kernel symbols.

This patch also fixes 64-bit SMTC version of get_saved_sp() which is
broken but harmless since there is no such CPUs for now.

A bonus is set_saved_sp() and SMP version of get_saved_sp() are more
readable now.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] <asm/irq.h> does not need pt_regs anymore.
Atsushi Nemoto [Tue, 10 Oct 2006 16:07:01 +0000 (01:07 +0900)]
[MIPS] <asm/irq.h> does not need pt_regs anymore.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Workaround for bug in gcc -EB / -EL options.
Ralf Baechle [Tue, 10 Oct 2006 14:44:10 +0000 (15:44 +0100)]
[MIPS] Workaround for bug in gcc -EB / -EL options.

Certain gcc versions upto gcc 4.1.1 (probably 4.2-subversion as of
2006-10-10 don't properly change the the predefined symbols if -EB / -EL
are used, so we kludge that here.  A bug has been filed at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Fix timer setup for Jazz
Yoichi Yuasa [Tue, 10 Oct 2006 07:56:11 +0000 (16:56 +0900)]
[MIPS] Fix timer setup for Jazz

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Wed, 11 Oct 2006 18:20:11 +0000 (11:20 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] stacktrace bug.
  [S390] cio: remove casts from/to (void *).
  [S390] cio: Remove grace period for vary off chpid.
  [S390] cio: Use ccw_dev_id and subchannel_id in ccw_device_private
  [S390] monwriter kzalloc size.
  [S390] cio: add missing KERN_INFO printk header.
  [S390] irq change improvements.

17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 11 Oct 2006 18:19:47 +0000 (11:19 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [PATCH] pata-qdi: fix le32 in data_xfer
  [libata] sata_promise: add PCI ID
  [PATCH] libata: return sense data in HDIO_DRIVE_CMD ioctl
  [PATCH] libata: Don't believe bogus claims in the older PIO mode register

17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 11 Oct 2006 18:19:30 +0000 (11:19 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (42 commits)
  [PATCH] Fix section mismatch in de2104x.c
  [PATCH] sky2: set lower pause threshold to prevent overrun
  [PATCH] sky2: revert pci express extensions
  [PATCH] skge: version 1.9
  [PATCH] skge: better flow control negotiation
  [PATCH] skge: pause mapping for fiber
  [PATCH] skge: fix stuck irq when fiber down
  [PATCH] powerpc/cell spidernet release all descrs
  [PATCH] powerpc/cell spidernet DMA direction fix
  [PATCH] powerpc/cell spidernet variable name change
  [PATCH] powerpc/cell spidernet reduce DMA kicking
  [PATCH] powerpc/cell spidernet
  [PATCH] powerpc/cell spidernet refine locking
  [PATCH] powerpc/cell spidernet NAPI polling info.
  [PATCH] powerpc/cell spidernet low watermark patch.
  [PATCH] powerpc/cell spidernet incorrect offset
  [PATCH] powerpc/cell spidernet stop error printing patch.
  [PATCH] powerpc/cell spidernet fix error interrupt print
  [PATCH] powerpc/cell spidernet bogus rx interrupt bit
  [PATCH] Spidernet stop queue when queue is full.
  ...

17 years ago[PATCH] i2Output always takes kernel data now
Al Viro [Wed, 11 Oct 2006 16:45:47 +0000 (17:45 +0100)]
[PATCH] i2Output always takes kernel data now

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] alpha_ksyms.c cleanup
Al Viro [Wed, 11 Oct 2006 16:40:22 +0000 (17:40 +0100)]
[PATCH] alpha_ksyms.c cleanup

taken exports to actual definitions of symbols being exported.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] remove bogus arch-specific syscall exports
Al Viro [Wed, 11 Oct 2006 16:40:22 +0000 (17:40 +0100)]
[PATCH] remove bogus arch-specific syscall exports

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] z2_init() in non-modular case
Al Viro [Wed, 11 Oct 2006 16:28:47 +0000 (17:28 +0100)]
[PATCH] z2_init() in non-modular case

... another victim - this time of 2.5.1-pre2

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] amiga_floppy_init() in non-modular case
Al Viro [Wed, 11 Oct 2006 16:28:37 +0000 (17:28 +0100)]
[PATCH] amiga_floppy_init() in non-modular case

It used to be called directly, but that got lost in 2.1.87-pre1.
Similar breakage in ataflop got fixed 3 years ago, this one
had gone unnoticed.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] clean m68k ksyms
Al Viro [Wed, 11 Oct 2006 16:28:27 +0000 (17:28 +0100)]
[PATCH] clean m68k ksyms

sun3_ksyms gone, m68k_ksyms trimmed down to exports of the assembler ones,
for sun3 added the missing exports of __ioremap() and iounmap().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] sun3 __iomem annotations
Al Viro [Wed, 11 Oct 2006 16:28:17 +0000 (17:28 +0100)]
[PATCH] sun3 __iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] misc m68k __user annotations
Al Viro [Wed, 11 Oct 2006 16:28:07 +0000 (17:28 +0100)]
[PATCH] misc m68k __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] m68k uaccess __user annotations
Al Viro [Wed, 11 Oct 2006 16:27:57 +0000 (17:27 +0100)]
[PATCH] m68k uaccess __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] misuse of strstr
Al Viro [Wed, 11 Oct 2006 16:25:45 +0000 (17:25 +0100)]
[PATCH] misuse of strstr

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] m32r: more __user annotations
Al Viro [Wed, 11 Oct 2006 16:24:55 +0000 (17:24 +0100)]
[PATCH] m32r: more __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] m32r: NULL noise removal
Al Viro [Wed, 11 Oct 2006 16:24:35 +0000 (17:24 +0100)]
[PATCH] m32r: NULL noise removal

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] m32r: signal __user annotations
Al Viro [Wed, 11 Oct 2006 16:24:45 +0000 (17:24 +0100)]
[PATCH] m32r: signal __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] m32r: C99 initializers in setup.c
Al Viro [Wed, 11 Oct 2006 16:24:25 +0000 (17:24 +0100)]
[PATCH] m32r: C99 initializers in setup.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] arm-versatile iomem annotations
Al Viro [Wed, 11 Oct 2006 16:22:34 +0000 (17:22 +0100)]
[PATCH] arm-versatile iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] arm: use unsigned long instead of unsigned int in get_user()
Al Viro [Wed, 11 Oct 2006 16:22:54 +0000 (17:22 +0100)]
[PATCH] arm: use unsigned long instead of unsigned int in get_user()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] arm __user annotations
Al Viro [Wed, 11 Oct 2006 16:22:44 +0000 (17:22 +0100)]
[PATCH] arm __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] md: use BUILD_BUG_ON
Alexey Dobriyan [Wed, 11 Oct 2006 08:22:26 +0000 (01:22 -0700)]
[PATCH] md: use BUILD_BUG_ON

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] ISDN: several minor fixes
Jeff Garzik [Wed, 11 Oct 2006 08:22:25 +0000 (01:22 -0700)]
[PATCH] ISDN: several minor fixes

pcbit: kill 'may be used uninitialized' warning.  although the code does
eventually fill the 32 bits it cares about, the variable truly is
accessed uninitialized in each macro.  Easier to just clean it up now.

sc: fix a ton of obviously incorrect printk's (some with missing
arguments even)

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] fs/bio.c: tweaks
Andreas Mohr [Wed, 11 Oct 2006 08:22:24 +0000 (01:22 -0700)]
[PATCH] fs/bio.c: tweaks

- Calculate a variable in bvec_alloc_bs() only once needed, not earlier
  (bio.o down from 18408 to 18376 Bytes, 32 Bytes saved, probably due to
  data locality improvements).

- Init variable idx to silence a gcc warning which already existed in the
  unmodified original base file (bvec_alloc_bs() handles idx correctly, so
  there's no need for the warning):

fs/bio.c: In function `bio_alloc_bioset':
fs/bio.c:169: warning: `idx' may be used uninitialized in this function

Signed-off-by: Andreas Mohr <andi@lisas.de>
Acked-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] drivers/mca: handle sysfs errors
Jeff Garzik [Wed, 11 Oct 2006 08:22:23 +0000 (01:22 -0700)]
[PATCH] drivers/mca: handle sysfs errors

Also includes a kmalloc->kzalloc cleanup.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] firmware/efivars: handle error
Jeff Garzik [Wed, 11 Oct 2006 08:22:23 +0000 (01:22 -0700)]
[PATCH] firmware/efivars: handle error

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] EISA: handle sysfs errors
Jeff Garzik [Wed, 11 Oct 2006 08:22:22 +0000 (01:22 -0700)]
[PATCH] EISA: handle sysfs errors

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] ipmi: handle sysfs errors
Jeff Garzik [Wed, 11 Oct 2006 08:22:21 +0000 (01:22 -0700)]
[PATCH] ipmi: handle sysfs errors

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Corey Minyard <cminyard@acm.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] firmware/dell_rbu: handle sysfs errors
Jeff Garzik [Wed, 11 Oct 2006 08:22:20 +0000 (01:22 -0700)]
[PATCH] firmware/dell_rbu: handle sysfs errors

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Cc: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] VFS: Destroy the dentries contributed by a superblock on unmounting
David Howells [Wed, 11 Oct 2006 08:22:19 +0000 (01:22 -0700)]
[PATCH] VFS: Destroy the dentries contributed by a superblock on unmounting

The attached patch destroys all the dentries attached to a superblock in one go
by:

 (1) Destroying the tree rooted at s_root.

 (2) Destroying every entry in the anon list, one at a time.

 (3) Each entry in the anon list has its subtree consumed from the leaves
     inwards.

This reduces the amount of work generic_shutdown_super() does, and avoids
iterating through the dentry_unused list.

Note that locking is almost entirely absent in the shrink_dcache_for_umount*()
functions added by this patch.  This is because:

 (1) at the point the filesystem calls generic_shutdown_super(), it is not
     permitted to further touch the superblock's set of dentries, and nor may
     it remove aliases from inodes;

 (2) the dcache memory shrinker now skips dentries that are being unmounted;
     and

 (3) the superblock no longer has any external references through which the VFS
     can reach it.

Given these points, the only locking we need to do is when we remove dentries
from the unused list and the name hashes, which we do a directory's worth at a
time.

We also don't need to guard against reference counts going to zero unexpectedly
and removing bits of the tree we're working on as nothing else can call dput().

A cut down version of dentry_iput() has been folded into
shrink_dcache_for_umount_subtree() function.  Apart from not needing to unlock
things, it also doesn't need to check for inotify watches.

In this version of the patch, the complaint about a dentry still being in use
has been expanded from a single BUG_ON() and now gives much more information.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: NeilBrown <neilb@suse.de>
Acked-by: Ian Kent <raven@themaw.net>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] AUTOFS: Make sure all dentries refs are released before calling kill_anon_super()
David Howells [Wed, 11 Oct 2006 08:22:15 +0000 (01:22 -0700)]
[PATCH] AUTOFS: Make sure all dentries refs are released before calling kill_anon_super()

Make sure all dentries refs are released before calling kill_anon_super() so
that the assumption that generic_shutdown_super() can completely destroy the
dentry tree for there will be no external references holds true.

What was being done in the put_super() superblock op, is now done in the
kill_sb() filesystem op instead, prior to calling kill_anon_super().

This makes the struct autofs_sb_info::root member variable redundant (since
sb->s_root is still available), and so that is removed.  The calls to
shrink_dcache_sb() are also removed since they're also redundant as
shrink_dcache_for_umount() will now be called after the cleanup routine.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Ian Kent <raven@themaw.net>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] ReiserFS: Make sure all dentries refs are released before calling kill_block_...
David Howells [Wed, 11 Oct 2006 08:22:14 +0000 (01:22 -0700)]
[PATCH] ReiserFS: Make sure all dentries refs are released before calling kill_block_super()

Make sure all dentries refs are released before calling kill_block_super()
so that the assumption that generic_shutdown_super() can completely destroy
the dentry tree for there will be no external references holds true.

What was being done in the put_super() superblock op, is now done in the
kill_sb() filesystem op instead, prior to calling kill_block_super().

Changes made in [try #2]:

 (*) reiserfs_kill_sb() now checks that the superblock FS info pointer is set
     before trying to dereference it.

Signed-off-by: David Howells <dhowells@redhat.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: <reiserfs-dev@namesys.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] dell_rbu: printk() warning fix
Andrew Morton [Wed, 11 Oct 2006 08:22:13 +0000 (01:22 -0700)]
[PATCH] dell_rbu: printk() warning fix

drivers/firmware/dell_rbu.c: In function 'packetize_data':
drivers/firmware/dell_rbu.c:252: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'int'

Cc: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] kernel-doc: make parameter description indentation uniform
Randy Dunlap [Wed, 11 Oct 2006 08:22:12 +0000 (01:22 -0700)]
[PATCH] kernel-doc: make parameter description indentation uniform

- In parameter descriptions, strip all whitespace between the parameter
  name (e.g., @len) and its description so that the description is
  indented uniformly in text and man page modes.  Previously, spaces
  or tabs (which are used for cleaner source code viewing) affected
  the produced output in a negative way.

Before (man mode):
       to            Destination address, in user space.
       from        Source address, in kernel space.
       n              Number of bytes to copy.

After (man mode):
       to          Destination address, in user space.
       from        Source address, in kernel space.
       n           Number of bytes to copy.

- Fix/clarify a few function description comments.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] include linux/types.h in linux/nbd.h
Mike Frysinger [Wed, 11 Oct 2006 08:22:11 +0000 (01:22 -0700)]
[PATCH] include linux/types.h in linux/nbd.h

The nbd header uses __be32 and such types but doesn't actually include the
header that defines these things (linux/types.h); so let's include it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] kernel-doc: drop various "inline" qualifiers
Randy Dunlap [Wed, 11 Oct 2006 08:22:10 +0000 (01:22 -0700)]
[PATCH] kernel-doc: drop various "inline" qualifiers

Drop __inline, __always_inline, and noinline in the produced kernel-doc
output, similar to other pseudo directives.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] uaccess.h: match kernel-doc and function names
Randy Dunlap [Wed, 11 Oct 2006 08:22:10 +0000 (01:22 -0700)]
[PATCH] uaccess.h: match kernel-doc and function names

Place kernel-doc function comment header immediately before the function that
is being documented.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] kernel-doc: fix function name in usercopy.c
Randy Dunlap [Wed, 11 Oct 2006 08:22:09 +0000 (01:22 -0700)]
[PATCH] kernel-doc: fix function name in usercopy.c

Fix kernel-doc function name in usercopy.c.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>