1. 21 May, 2008 9 commits
  2. 19 May, 2008 5 commits
  3. 16 May, 2008 6 commits
  4. 15 May, 2008 7 commits
  5. 14 May, 2008 13 commits
    • Stephen Hemminger's avatar
      bonding: handle case of device named bonding_master · 38d2f38b
      Stephen Hemminger authored
      
      
      If device already exists named bonding_masters, then fail. This is a wierd
      corner case only a QA group could love.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      38d2f38b
    • Stephen Hemminger's avatar
      sysfs: remove error messages for -EEXIST case · 0599ad53
      Stephen Hemminger authored
      
      
      It is possible that the entry in sysfs already exists, one case of this is
      when a network device is renamed to bonding_masters. Anyway, in this case
      the proper error path is for device_rename to return an error code, not to
      generate bogus backtrace and errors.
      
      Also, to avoid possible races, the create link should be done before the
      remove link. This makes a device rename atomic operation like other renames.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0599ad53
    • Stephen Hemminger's avatar
      net: handle errors from device_rename · dcc99773
      Stephen Hemminger authored
      
      
      device_rename can fail with -EEXIST or -ENOMEM, so handle any
      problems.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dcc99773
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs · 8f40f672
      Linus Torvalds authored
      * 'for-linus' of ssh://master.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        9p: fix error path during early mount
        9p: make cryptic unknown error from server less scary
        9p: fix flags length in net
        9p: Correct fidpool creation failure in p9_client_create
        9p: use struct mutex instead of struct semaphore
        9p: propagate parse_option changes to client and transports
        fs/9p/v9fs.c (v9fs_parse_options): Handle kstrdup and match_strdup failure.
        9p: Documentation updates
        add match_strlcpy() us it to make v9fs make uname and remotename parsing more robust
      8f40f672
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 8978a318
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc64: Use a TS_RESTORE_SIGMASK
        lmb: Make lmb debugging more useful.
        lmb: Fix inconsistent alignment of size argument.
        sparc: Fix mremap address range validation.
      8978a318
    • Andrew Morton's avatar
      net/irda/irnet/irnet_irda.c needs unaligned.h · f7fd63c0
      Andrew Morton authored
      
      
      net/irda/irnet/irnet_irda.c: In function 'irnet_discovery_indication':
      net/irda/irnet/irnet_irda.c:1676: error: implicit declaration of function 'get_unaligned'
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f7fd63c0
    • Andrew Morton's avatar
      tty_check_change(): avoid taking tasklist_lock while holding tty->ctrl_lock · 9ffee4cb
      Andrew Morton authored
      
      
      May 11 09:42:27 [kernel] [ 1104.496819] rarian-sk-get-c[5630]: segfault at 0 ip 7f478556caf0 sp 7fff8e3fe338 error 4 in libc-2.6.1.so[7f47854f9000+136000]
      May 11 10:59:48 [kernel] [ 2494.165792]
      May 11 10:59:48 [kernel] [ 2494.165794] =======================================================
      May 11 10:59:48 [kernel] [ 2494.165801] [ INFO: possible circular locking dependency detected ]
      May 11 10:59:48 [kernel] [ 2494.165805] 2.6.26-rc1-00007-g91b3a7a #217
      May 11 10:59:48 [kernel] [ 2494.165807] -------------------------------------------------------
      May 11 10:59:48 [kernel] [ 2494.165809] less/7053 is trying to acquire lock:
      May 11 10:59:48 [kernel] [ 2494.165812]  (tasklist_lock){..??}, at: [<ffffffff80232e95>] is_current_pgrp_orphaned+0x15/0x50
      May 11 10:59:48 [kernel] [ 2494.165821]
      May 11 10:59:48 [kernel] [ 2494.165822] but task is already holding lock:
      May 11 10:59:48 [kernel] [ 2494.165824]  (&tty->ctrl_lock){....}, at: [<ffffffff803d5f31>] tty_check_change+0x61/0x110
      May 11 10:59:48 [kernel] [ 2494.165831]
      May 11 10:59:48 [kernel] [ 2494.165832] which lock already depends on the new lock.
      May 11 10:59:48 [kernel] [ 2494.165833]
      May 11 10:59:48 [kernel] [ 2494.165835]
      May 11 10:59:48 [kernel] [ 2494.165836] the existing dependency chain (in reverse order) is:
      May 11 10:59:48 [kernel] [ 2494.165838]
      May 11 10:59:48 [kernel] [ 2494.165839] -> #2 (&tty->ctrl_lock){....}:
      May 11 10:59:48 [kernel] [ 2494.165843]        [<ffffffff80253796>] __lock_acquire+0xf86/0x1080
      May 11 10:59:48 [kernel] [ 2494.165851]        [<ffffffff80253922>] lock_acquire+0x92/0xc0
      May 11 10:59:48 [kernel] [ 2494.165858]        [<ffffffff804deee0>] _spin_lock_irqsave+0x40/0x60
      May 11 10:59:48 [kernel] [ 2494.165866]        [<ffffffff803d31b5>] __proc_set_tty+0x35/0xe0
      May 11 10:59:48 [kernel] [ 2494.165873]        [<ffffffff803d76d4>] tty_ioctl+0xbf4/0xfe0
      May 11 10:59:48 [kernel] [ 2494.165880]        [<ffffffff802a05e1>] vfs_ioctl+0x31/0x90
      May 11 10:59:48 [kernel] [ 2494.165888]        [<ffffffff802a06b3>] do_vfs_ioctl+0x73/0x2d0
      May 11 10:59:48 [kernel] [ 2494.165895]        [<ffffffff802a095a>] sys_ioctl+0x4a/0x80
      May 11 10:59:48 [kernel] [ 2494.165902]        [<ffffffff8020b5ab>] system_call_after_swapgs+0x7b/0x80
      May 11 10:59:48 [kernel] [ 2494.165910]        [<ffffffffffffffff>] 0xffffffffffffffff
      May 11 10:59:48 [kernel] [ 2494.165924]
      May 11 10:59:48 [kernel] [ 2494.165925] -> #1 (&sighand->siglock){++..}:
      May 11 10:59:48 [kernel] [ 2494.165929]        [<ffffffff80253796>] __lock_acquire+0xf86/0x1080
      May 11 10:59:48 [kernel] [ 2494.165936]        [<ffffffff80253922>] lock_acquire+0x92/0xc0
      May 11 10:59:48 [kernel] [ 2494.165943]        [<ffffffff804dec1f>] _spin_lock+0x2f/0x40
      May 11 10:59:48 [kernel] [ 2494.165951]        [<ffffffff8022d5a3>] copy_process+0x973/0x1210
      May 11 10:59:48 [kernel] [ 2494.165959]        [<ffffffff8022df12>] do_fork+0x82/0x2f0
      May 11 10:59:48 [kernel] [ 2494.165967]        [<ffffffff8020bfe1>] kernel_thread+0x81/0xde
      May 11 10:59:48 [kernel] [ 2494.165974]        [<ffffffff8020c048>] child_rip+0xa/0x12
      May 11 10:59:48 [kernel] [ 2494.165981]        [<ffffffffffffffff>] 0xffffffffffffffff
      May 11 10:59:48 [kernel] [ 2494.166038]
      May 11 10:59:48 [kernel] [ 2494.166039] -> #0 (tasklist_lock){..??}:
      May 11 10:59:48 [kernel] [ 2494.166043]        [<ffffffff802535ab>] __lock_acquire+0xd9b/0x1080
      May 11 10:59:48 [kernel] [ 2494.166050]        [<ffffffff80253922>] lock_acquire+0x92/0xc0
      May 11 10:59:48 [kernel] [ 2494.166057]        [<ffffffff804dede2>] _read_lock+0x32/0x50
      May 11 10:59:48 [kernel] [ 2494.166063]        [<ffffffff80232e95>] is_current_pgrp_orphaned+0x15/0x50
      May 11 10:59:48 [kernel] [ 2494.166071]        [<ffffffff803d5f80>] tty_check_change+0xb0/0x110
      May 11 10:59:48 [kernel] [ 2494.166078]        [<ffffffff803dac5f>] set_termios+0x1f/0x4c0
      May 11 10:59:48 [kernel] [ 2494.166085]        [<ffffffff803db379>] tty_mode_ioctl+0x279/0x3e0
      May 11 10:59:48 [kernel] [ 2494.166092]        [<ffffffff803db51d>] n_tty_ioctl+0x3d/0x260
      May 11 10:59:48 [kernel] [ 2494.166100]        [<ffffffff803d6c34>] tty_ioctl+0x154/0xfe0
      May 11 10:59:48 [kernel] [ 2494.166107]        [<ffffffff802a05e1>] vfs_ioctl+0x31/0x90
      May 11 10:59:48 [kernel] [ 2494.166114]        [<ffffffff802a06b3>] do_vfs_ioctl+0x73/0x2d0
      May 11 10:59:48 [kernel] [ 2494.166121]        [<ffffffff802a095a>] sys_ioctl+0x4a/0x80
      May 11 10:59:48 [kernel] [ 2494.166128]        [<ffffffff8020b5ab>] system_call_after_swapgs+0x7b/0x80
      May 11 10:59:48 [kernel] [ 2494.166135]        [<ffffffffffffffff>] 0xffffffffffffffff
      May 11 10:59:48 [kernel] [ 2494.166142]
      May 11 10:59:48 [kernel] [ 2494.166143] other info that might help us debug this:
      May 11 10:59:48 [kernel] [ 2494.166144]
      May 11 10:59:48 [kernel] [ 2494.166146] 1 lock held by less/7053:
      May 11 10:59:48 [kernel] [ 2494.166148]  #0:  (&tty->ctrl_lock){....}, at: [<ffffffff803d5f31>] tty_check_change+0x61/0x110
      May 11 10:59:48 [kernel] [ 2494.166155]
      May 11 10:59:48 [kernel] [ 2494.166156] stack backtrace:
      May 11 10:59:48 [kernel] [ 2494.166159] Pid: 7053, comm: less Not tainted 2.6.26-rc1-00007-g91b3a7a #217
      May 11 10:59:48 [kernel] [ 2494.166161]
      May 11 10:59:48 [kernel] [ 2494.166162] Call Trace:
      May 11 10:59:48 [kernel] [ 2494.166168]  [<ffffffff80251223>] print_circular_bug_tail+0x83/0x90
      May 11 10:59:48 [kernel] [ 2494.166172]  [<ffffffff80250889>] ? print_circular_bug_entry+0x49/0x60
      May 11 10:59:48 [kernel] [ 2494.166178]  [<ffffffff802535ab>] __lock_acquire+0xd9b/0x1080
      May 11 10:59:48 [kernel] [ 2494.166184]  [<ffffffff80232e95>] ? is_current_pgrp_orphaned+0x15/0x50
      May 11 10:59:48 [kernel] [ 2494.166189]  [<ffffffff80253922>] lock_acquire+0x92/0xc0
      May 11 10:59:48 [kernel] [ 2494.166206]  [<ffffffff803d5f80>] tty_check_change+0xb0/0x110
      May 11 10:59:48 [kernel] [ 2494.166211]  [<ffffffff803dac5f>] set_termios+0x1f/0x4c0
      May 11 10:59:48 [kernel] [ 2494.166216]  [<ffffffff803d3423>] ? tty_ldisc_try+0x23/0x60
      May 11 10:59:48 [kernel] [ 2494.166220]  [<ffffffff803d3444>] ? tty_ldisc_try+0x44/0x60
      May 11 10:59:48 [kernel] [ 2494.166224]  [<ffffffff804df2c5>] ? _spin_unlock_irqrestore+0x65/0x80
      May 11 10:59:48 [kernel] [ 2494.166230]  [<ffffffff803db379>] tty_mode_ioctl+0x279/0x3e0
      May 11 10:59:48 [kernel] [ 2494.166234]  [<ffffffff803d3444>] ? tty_ldisc_try+0x44/0x60
      May 11 10:59:48 [kernel] [ 2494.166239]  [<ffffffff803db51d>] n_tty_ioctl+0x3d/0x260
      May 11 10:59:48 [kernel] [ 2494.166244]  [<ffffffff803d6c34>] tty_ioctl+0x154/0xfe0
      May 11 10:59:48 [kernel] [ 2494.166249]  [<ffffffff80252baa>] ? __lock_acquire+0x39a/0x1080
      May 11 10:59:48 [kernel] [ 2494.166256]  [<ffffffff80252baa>] ? __lock_acquire+0x39a/0x1080
      May 11 10:59:48 [kernel] [ 2494.166263]  [<ffffffff80252baa>] ? __lock_acquire+0x39a/0x1080
      May 11 10:59:48 [kernel] [ 2494.166269]  [<ffffffff802a05e1>] vfs_ioctl+0x31/0x90
      May 11 10:59:48 [kernel] [ 2494.166274]  [<ffffffff802a06b3>] do_vfs_ioctl+0x73/0x2d0
      May 11 10:59:48 [kernel] [ 2494.166280]  [<ffffffff802a095a>] sys_ioctl+0x4a/0x80
      May 11 10:59:48 [kernel] [ 2494.166286]  [<ffffffff8020b5ab>] system_call_after_swapgs+0x7b/0x80
      May 11 10:59:48 [kernel] [ 2494.166292]
      Acked-by: default avatarAlan Cox <alan@lxorguk.ukuu.org.uk>
      Reported-by: default avatarMarcin Slusarz <marcin.slusarz@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9ffee4cb
    • Neil Brown's avatar
      Remove blkdev warning triggered by using md · e7e72bf6
      Neil Brown authored
      
      
      As setting and clearing queue flags now requires that we hold a spinlock
      on the queue, and as blk_queue_stack_limits is called without that lock,
      get the lock inside blk_queue_stack_limits.
      
      For blk_queue_stack_limits to be able to find the right lock, each md
      personality needs to set q->queue_lock to point to the appropriate lock.
      Those personalities which didn't previously use a spin_lock, us
      q->__queue_lock.  So always initialise that lock when allocated.
      
      With this in place, setting/clearing of the QUEUE_FLAG_PLUGGED bit will no
      longer cause warnings as it will be clear that the proper lock is held.
      
      Thanks to Dan Williams for review and fixing the silly bugs.
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Alistair John Strachan <alistair@devzero.co.uk>
      Cc: Nick Piggin <npiggin@suse.de>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Jacek Luczak <difrost.kernel@gmail.com>
      Cc: Prakash Punnoor <prakash@punnoor.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e7e72bf6
    • Jiri Slaby's avatar
      char: select fw_loader by moxa · 4920916f
      Jiri Slaby authored
      
      
      Select FW_LOADER since moxa needs it, otherwise we face link problems such
      as:
      
      drivers/built-in.o: In function
      moxa_pci_probe':moxa.c:(.devinit.text+0x76d8): undefined reference to
      request_firmware'
      :moxa.c:(.devinit.text+0x7e6e): undefined reference to release_firmware'
      make: *** [.tmp_vmlinux1] Error 1
      Reported-by: default avatarPhilippe Roussel <p.o.roussel@free.fr>
      Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4920916f
    • Heiko Carstens's avatar
      memory_hotplug: always initialize pageblock bitmap · 76cdd58e
      Heiko Carstens authored
      Trying to online a new memory section that was added via memory hotplug
      sometimes results in crashes when the new pages are added via __free_page.
       Reason for that is that the pageblock bitmap isn't initialized and hence
      contains random stuff.  That means that get_pageblock_migratetype()
      returns also random stuff and therefore
      
      	list_add(&page->lru,
      		&zone->free_area[order].free_list[migratetype]);
      
      in __free_one_page() tries to do a list_add to something that isn't even
      necessarily a list.
      
      This happens since 86051ca5
      
       ("mm: fix
      usemap initialization") which makes sure that the pageblock bitmap gets
      only initialized for pages present in a zone.  Unfortunately for hot-added
      memory the zones "grow" after the memmap and the pageblock memmap have
      been initialized.  Which means that the new pages have an unitialized
      bitmap.  To solve this the calls to grow_zone_span() and grow_pgdat_span()
      are moved to __add_zone() just before the initialization happens.
      
      The patch also moves the two functions since __add_zone() is the only
      caller and I didn't want to add a forward declaration.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Andy Whitcroft <apw@shadowen.org>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      76cdd58e
    • Venki Pallipadi's avatar
      mprotect: prevent alteration of the PAT bits · 1c12c4cf
      Venki Pallipadi authored
      
      
      There is a defect in mprotect, which lets the user change the page cache
      type bits by-passing the kernel reserve_memtype and free_memtype
      wrappers.  Fix the problem by not letting mprotect change the PAT bits.
      Signed-off-by: default avatarVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1c12c4cf
    • Eric Dumazet's avatar
      per_cpu: fix DEFINE_PER_CPU_SHARED_ALIGNED for modules · 44c81433
      Eric Dumazet authored
      
      
      Current module loader lookups ".data.percpu" ELF section to perform
      per_cpu relocation.  But DEFINE_PER_CPU_SHARED_ALIGNED() uses another
      section (".data.percpu.shared_aligned"), currently only handled in
      vmlinux.lds, not by module loader.
      
      To correct this problem, instead of adding logic into module loader, or
      using at build time a module.lds file for all arches to group
      ".data.percpu.shared_aligned" into ".data.percpu", just use ".data.percpu"
      for modules.
      
      Alignment requirements are correctly handled by ld and module loader.
      Signed-off-by: default avatarEric Dumazet <dada1@cosmosbay.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      44c81433
    • Geoff Levand's avatar
      memory_hotplug: check for walk_memory_resource() failure in online_pages() · fd8a4221
      Geoff Levand authored
      
      
      Add a check to online_pages() to test for failure of
      walk_memory_resource().  This fixes a condition where a failure
      of walk_memory_resource() can lead to online_pages() returning
      success without the requested pages being onlined.
      Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
      Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Cc: Keith Mannthey <kmannth@us.ibm.com>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: Paul Jackson <pj@sgi.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fd8a4221