09 May, 2007

1 commit


26 Apr, 2007

16 commits


19 Apr, 2007

1 commit

  • This patch fixes an oops first reported in mid 2006 - see
    http://lkml.org/lkml/2006/8/29/358 The cause of this bug report is that
    when an error is signalled on the socket, irda_recvmsg_stream returns
    without removing a local wait_queue variable from the socket's sk_sleep
    queue. This causes havoc further down the road.

    In response to this problem, a patch was made that invoked sock_orphan on
    the socket when receiving a disconnect indication. This is not a good fix,
    as this sets sk_sleep to NULL, causing applications sleeping in recvmsg
    (and other places) to oops.

    This is against the latest net-2.6 and should be considered for -stable
    inclusion.

    Signed-off-by: Olaf Kirch
    Signed-off-by: Samuel Ortiz
    Signed-off-by: David S. Miller

    Olaf Kirch
     

20 Mar, 2007

2 commits


27 Feb, 2007

1 commit


15 Feb, 2007

2 commits

  • The semantic effect of insert_at_head is that it would allow new registered
    sysctl entries to override existing sysctl entries of the same name. Which is
    pain for caching and the proc interface never implemented.

    I have done an audit and discovered that none of the current users of
    register_sysctl care as (excpet for directories) they do not register
    duplicate sysctl entries.

    So this patch simply removes the support for overriding existing entries in
    the sys_sysctl interface since no one uses it or cares and it makes future
    enhancments harder.

    Signed-off-by: Eric W. Biederman
    Acked-by: Ralf Baechle
    Acked-by: Martin Schwidefsky
    Cc: Russell King
    Cc: David Howells
    Cc: "Luck, Tony"
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Martin Schwidefsky
    Cc: Andi Kleen
    Cc: Jens Axboe
    Cc: Corey Minyard
    Cc: Neil Brown
    Cc: "John W. Linville"
    Cc: James Bottomley
    Cc: Jan Kara
    Cc: Trond Myklebust
    Cc: Mark Fasheh
    Cc: David Chinner
    Cc: "David S. Miller"
    Cc: Patrick McHardy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • After Al Viro (finally) succeeded in removing the sched.h #include in module.h
    recently, it makes sense again to remove other superfluous sched.h includes.
    There are quite a lot of files which include it but don't actually need
    anything defined in there. Presumably these includes were once needed for
    macros that used to live in sched.h, but moved to other header files in the
    course of cleaning it up.

    To ease the pain, this time I did not fiddle with any header files and only
    removed #includes from .c-files, which tend to cause less trouble.

    Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
    arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
    allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
    configs in arch/arm/configs on arm. I also checked that no new warnings were
    introduced by the patch (actually, some warnings are removed that were emitted
    by unnecessarily included header files).

    Signed-off-by: Tim Schmielau
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

13 Feb, 2007

2 commits

  • Many struct file_operations in the kernel can be "const". Marking them const
    moves these to the .rodata section, which avoids false sharing with potential
    dirty data. In addition it'll catch accidental writes at compile time to
    these shared resources.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • Many struct file_operations in the kernel can be "const". Marking them const
    moves these to the .rodata section, which avoids false sharing with potential
    dirty data. In addition it'll catch accidental writes at compile time to
    these shared resources.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

11 Feb, 2007

1 commit


09 Feb, 2007

2 commits


09 Dec, 2006

1 commit

  • This is the core of the switch to the new framework. I've split it from the
    driver patches which are mostly search/replace and would encourage people to
    give this one a good hard stare.

    The references to BOTHER and ISHIFT are the termios values that must be
    defined by a platform once it wants to turn on "new style" ioctl support. The
    code patches here ensure that providing

    1. The termios overlays the ktermios in memory
    2. The only new kernel only fields are c_ispeed/c_ospeed (or none)

    the existing behaviour is retained. This is true for the patches at this
    point in time.

    Future patches will define BOTHER, ISHIFT and enable newer termios structures
    for each architecture, and once they are all done some of the ifdefs also
    vanish.

    [akpm@osdl.org: warning fix]
    [akpm@osdl.org: IRDA fix]
    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     

07 Dec, 2006

1 commit


06 Dec, 2006

1 commit


05 Dec, 2006

1 commit


04 Dec, 2006

1 commit


03 Dec, 2006

2 commits


22 Nov, 2006

2 commits

  • Fix up for make allyesconfig.

    Signed-Off-By: David Howells

    David Howells
     
  • On Sat, 2006-11-18 at 16:12 +0300, Andrey Borzenkov wrote:

    > =============================================
    > [ INFO: possible recursive locking detected ]
    > 2.6.19-rc5-2avb #2
    > - ---------------------------------------------
    > pppd/26425 is trying to acquire lock:
    > (&hashbin->hb_spinlock){....}, at: [] irlmp_slsap_inuse+0x5a/0x170
    > [irda]
    >
    > but task is already holding lock:
    > (&hashbin->hb_spinlock){....}, at: [] irlmp_slsap_inuse+0x37/0x170
    > [irda]
    >
    > other info that might help us debug this:
    > 1 lock held by pppd/26425:
    > #0: (&hashbin->hb_spinlock){....}, at: []
    > irlmp_slsap_inuse+0x37/0x170 [irda]
    >
    > stack backtrace:
    > [] dump_trace+0x1cc/0x200
    > [] show_trace_log_lvl+0x1a/0x30
    > [] show_trace+0x12/0x20
    > [] dump_stack+0x19/0x20
    > [] __lock_acquire+0x8fa/0xc20
    > [] lock_acquire+0x5d/0x80
    > [] _spin_lock+0x2c/0x40
    > [] irlmp_slsap_inuse+0x5a/0x170 [irda]
    > [] irlmp_open_lsap+0x62/0x180 [irda]
    > [] irttp_open_tsap+0x181/0x230 [irda]
    > [] ircomm_open_tsap+0x5d/0xa0 [ircomm]
    > [] ircomm_open+0xb8/0xd0 [ircomm]
    > [] ircomm_tty_open+0x4f7/0x570 [ircomm_tty]
    > [] tty_open+0x174/0x340
    > [] chrdev_open+0x89/0x170
    > [] __dentry_open+0xa6/0x1d0
    > [] nameidata_to_filp+0x35/0x40
    > [] do_filp_open+0x49/0x50
    > [] do_sys_open+0x47/0xd0
    > [] sys_open+0x1c/0x20
    > [] sysenter_past_esp+0x56/0x8d
    > [] 0xb7f86410
    > =======================

    The comment at the nesting lock says:

    /* Careful for priority inversions here !
    * irlmp->links is never taken while another IrDA
    * spinlock is held, so we are safe. Jean II */

    So, under the assumption the author was right, it just needs a lockdep
    annotation.

    Signed-off-by: Peter Zijlstra
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Peter Zijlstra
     

11 Oct, 2006

1 commit


02 Oct, 2006

1 commit

  • As part of an SMP cleanliness pass over UML, I consted a bunch of
    structures in order to not have to document their locking. One of these
    structures was a struct tty_operations. In order to const it in UML
    without introducing compiler complaints, the declaration of
    tty_set_operations needs to be changed, and then all of its callers need to
    be fixed.

    This patch declares all struct tty_operations in the tree as const. In all
    cases, they are static and used only as input to tty_set_operations. As an
    extra check, I ran an i386 allyesconfig build which produced no extra
    warnings.

    53 drivers are affected. I checked the history of a bunch of them, and in
    most cases, there have been only a handful of maintenance changes in the
    last six months. serial_core.c was the busiest one that I looked at.

    Signed-off-by: Jeff Dike
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

29 Sep, 2006

1 commit