1. 07 6月, 2008 13 次提交
    • R
      drivers/char/ip2: fix Kconfig after ip2/ip2main merge · 33dda515
      Roland.Kletzing 提交于
      As commit 6089093e ("ip2: fix crashes on
      load/unload") fixed the ip2 crashes on load/unload by making ip2/ip2main
      one module (ip2), Kconfig shouldn't mention a now non-existing module.
      Signed-off-by: NRoland.Kletzing <devzero@web.de>
      Acked-by: NAlan Cox <alan@redhat.com>
      Cc: Jiri Slaby <jirislaby@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      33dda515
    • A
      edd: fix incorrect return of 1 from module_init · f6266e34
      Alexey Dobriyan 提交于
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Cc: Matt Domsch <Matt_Domsch@dell.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f6266e34
    • M
      eCryptfs: remove unnecessary page decrypt call · d3e49afb
      Michael Halcrow 提交于
      The page decrypt calls in ecryptfs_write() are both pointless and buggy.
      Pointless because ecryptfs_get_locked_page() has already brought the page
      up to date, and buggy because prior mmap writes will just be blown away by
      the decrypt call.
      
      This patch also removes the declaration of a now-nonexistent function
      ecryptfs_write_zeros().
      
      Thanks to Eric Sandeen and David Kleikamp for helping to track this
      down.
      
      Eric said:
      
         fsx w/ mmap dies quickly ( < 100 ops) without this, and survives
         nicely (to millions of ops+) with it in place.
      Signed-off-by: NMichael Halcrow <mhalcrow@us.ibm.com>
      Cc: Eric Sandeen <sandeen@redhat.com>
      Cc: Dave Kleikamp <shaggy@austin.ibm.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d3e49afb
    • A
      update checkpatch.pl to version 0.19 · c45dcabd
      Andy Whitcroft 提交于
      This version is a bit of a whopper.  This version brings a few new checks,
      improvements to a number of checks mostly through modifications to the
      way types are parsed, several fixes to quote/comment handling, as well as
      the usual slew of fixes for false positives.
      
      Of note:
       - return is not a function and is now reported,
       - preprocessor directive detection is loosened to match C99 standard,
       - we now intuit new type modifiers, and
       - comment handling is much improved
      
      Andy Whitcroft (18):
            Version: 0.19
            fix up a couple of missing newlines in reports
            colon to parenthesis spacing varies on asm
            values: #include is a preprocessor statement
            quotes: fix single character quotes at line end
            add typedef exception for the non-pointer "function types"
            kerneldoc parameters must be on one line, relax line length
            types: word boundary is not always required
            improved #define bracketing reports
            uninitialized_var is an annotation not a function name
            possible types: add possible modifier handling
            possible types: fastcall is a type modifier
            types: unsigned is not a modifier on all types
            static/external initialisation to zero should allow modifiers
            checkpatch: fix recognition of preprocessor directives -- part 2
            comments: fix inter-hunk comment tracking
            return is not a function
            do not report include/asm/foo.h use in include/linux/foo.h
            return is not a function -- tighten test
      
      [jengelh@computergmbh.de: fix recognition of preprocessor directives]
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      Cc: Jan Engelhardt <jengelh@computergmbh.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c45dcabd
    • A
      serial: fix driver_name conflicts · 4feead71
      Anton Vorontsov 提交于
      Some drivers are using too generic "serial" name for driver_name, this
      might cause issues, like this:
      
      Freescale QUICC Engine UART device driver
      proc_dir_entry 'serial' already registered
      Call Trace:
      [cf82de50] [c0007f7c] show_stack+0x4c/0x1ac (unreliable)
      [cf82de90] [c00b03fc] proc_register+0xfc/0x1ac
      [cf82dec0] [c00b05c8] create_proc_entry+0x60/0xac
      [cf82dee0] [c00b23dc] proc_tty_register_driver+0x60/0x98
      [cf82def0] [c016dbd8] tty_register_driver+0x1b4/0x228
      [cf82df20] [c0184d70] uart_register_driver+0x144/0x194
      [cf82df40] [c030a378] ucc_uart_init+0x2c/0x94
      [cf82df50] [c02f21a0] kernel_init+0x98/0x27c
      [cf82dff0] [c000fa74] kernel_thread+0x44/0x60
      
      ^^ The board is using ucc_uart.c and 8250.c, both registered as
         "serial".
      
      This patch fixes two drivers that are using "serial" for driver_name and
      not "ttyS" for dev_name.  Drivers that are using "ttyS" for dev_name, will
      conflict anyway, so we don't bother with these.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: NAlan Cox <alan@redhat.com>
      Acked-By: NTimur Tabi <timur@freescale.com>
      Acked-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4feead71
    • N
      hugetlb: fix lockdep error · 46478758
      Nick Piggin 提交于
      =============================================
      [ INFO: possible recursive locking detected ]
      2.6.26-rc4 #30
      ---------------------------------------------
      heap-overflow/2250 is trying to acquire lock:
       (&mm->page_table_lock){--..}, at: [<c0000000000cf2e8>] .copy_hugetlb_page_range+0x108/0x280
      
      but task is already holding lock:
       (&mm->page_table_lock){--..}, at: [<c0000000000cf2dc>] .copy_hugetlb_page_range+0xfc/0x280
      
      other info that might help us debug this:
      3 locks held by heap-overflow/2250:
       #0:  (&mm->mmap_sem){----}, at: [<c000000000050e44>] .dup_mm+0x134/0x410
       #1:  (&mm->mmap_sem/1){--..}, at: [<c000000000050e54>] .dup_mm+0x144/0x410
       #2:  (&mm->page_table_lock){--..}, at: [<c0000000000cf2dc>] .copy_hugetlb_page_range+0xfc/0x280
      
      stack backtrace:
      Call Trace:
      [c00000003b2774e0] [c000000000010ce4] .show_stack+0x74/0x1f0 (unreliable)
      [c00000003b2775a0] [c0000000003f10e0] .dump_stack+0x20/0x34
      [c00000003b277620] [c0000000000889bc] .__lock_acquire+0xaac/0x1080
      [c00000003b277740] [c000000000089000] .lock_acquire+0x70/0xb0
      [c00000003b2777d0] [c0000000003ee15c] ._spin_lock+0x4c/0x80
      [c00000003b277870] [c0000000000cf2e8] .copy_hugetlb_page_range+0x108/0x280
      [c00000003b277950] [c0000000000bcaa8] .copy_page_range+0x558/0x790
      [c00000003b277ac0] [c000000000050fe0] .dup_mm+0x2d0/0x410
      [c00000003b277ba0] [c000000000051d24] .copy_process+0xb94/0x1020
      [c00000003b277ca0] [c000000000052244] .do_fork+0x94/0x310
      [c00000003b277db0] [c000000000011240] .sys_clone+0x60/0x80
      [c00000003b277e30] [c0000000000078c4] .ppc_clone+0x8/0xc
      
      Fix is the same way that mm/memory.c copy_page_range does the
      lockdep annotation.
      Acked-by: NKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Acked-by: NAdam Litke <agl@us.ibm.com>
      Acked-by: NNishanth Aravamudan <nacc@us.ibm.com>
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      46478758
    • K
      modedb: fix incorrect sync and vmode flags for CVT modes · e2d4ecaf
      Krzysztof Helt 提交于
      The temporary structure for calculated CVT mode is not initialized.  Few
      fields have only bits or-ed or and-ed so they may be left in incorrect
      (random) state.
      
      Testing of the tridentfb seems like a good exercise for the fbdev layer.
      Signed-off-by: NKrzysztof Helt <krzysztof.h1@wp.pl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e2d4ecaf
    • A
      frv: don't offer BINFMT_FLAT · b8c141e8
      Adrian Bunk 提交于
      Fix the following compile error:
      
        CC      fs/binfmt_flat.o
      In file included from
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:36:
      /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/flat.h:14:22: error: asm/flat.h: No such file or directory
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c: In function 'create_flat_tables':
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:124: error: implicit declaration of function 'flat_stack_align'
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:125: error: implicit declaration of function 'flat_argvp_envp_on_stack'
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c: In function 'calc_reloc':
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:347: error: implicit declaration of function 'flat_reloc_valid'
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c: In function 'load_flat_file':
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:479: error: implicit declaration of function 'flat_old_ram_flag'
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:755: error: implicit declaration of function 'flat_set_persistent'
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:757: error: implicit declaration of function 'flat_get_relocate_addr'
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:765: error: implicit declaration of function 'flat_get_addr_from_rp'
      /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/binfmt_flat.c:781: error: implicit declaration of function 'flat_put_addr_at_rp'
      Reported-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Tested-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b8c141e8
    • M
      cpusets: fix and update Documentation · 6a7d68e8
      Miao Xie 提交于
      Make the doc consistent with current cpusets implementation.
      Signed-off-by: NMiao Xie <miaox@cn.fujitsu.com>
      Acked-by: NPaul Jackson <pj@sgi.com>
      Cc: David Rientjes <rientjes@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6a7d68e8
    • D
      md: do not compute parity unless it is on a failed drive · c337869d
      Dan Williams 提交于
      If a block is computed (rather than read) then a check/repair operation
      may be lead to believe that the data on disk is correct, when infact it
      isn't.  So only compute blocks for failed devices.
      
      This issue has been around since at least 2.6.12, but has become harder to
      hit in recent kernels since most reads bypass the cache.
      
      echo repair > /sys/block/mdN/md/sync_action will set the parity blocks to the
      correct state.
      
      Cc: <stable@kernel.org>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c337869d
    • D
      md: fix uninitialized use of mddev->recovery_wait · a6d8113a
      Dan Williams 提交于
      If an array was created with --assume-clean we will oops when trying to
      set ->resync_max.
      
      Fix this by initializing ->recovery_wait in mddev_find.
      
      Cc: <stable@kernel.org>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a6d8113a
    • D
      md: fix prexor vs sync_request race · e0a115e5
      Dan Williams 提交于
      During the initial array synchronization process there is a window between
      when a prexor operation is scheduled to a specific stripe and when it
      completes for a sync_request to be scheduled to the same stripe.  When
      this happens the prexor completes and the stripe is unconditionally marked
      "insync", effectively canceling the sync_request for the stripe.  Prior to
      2.6.23 this was not a problem because the prexor operation was done under
      sh->lock.  The effect in older kernels being that the prexor would still
      erroneously mark the stripe "insync", but sync_request would be held off
      and re-mark the stripe as "!in_sync".
      
      Change the write completion logic to not mark the stripe "in_sync" if a
      prexor was performed.  The effect of the change is to sometimes not set
      STRIPE_INSYNC.  The worst this can do is cause the resync to stall waiting
      for STRIPE_INSYNC to be set.  If this were happening, then STRIPE_SYNCING
      would be set and handle_issuing_new_read_requests would cause all
      available blocks to eventually be read, at which point prexor would never
      be used on that stripe any more and STRIPE_INSYNC would eventually be set.
      
      echo repair > /sys/block/mdN/md/sync_action will correct arrays that may
      have lost this race.
      
      Cc: <stable@kernel.org>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e0a115e5
    • D
      spi: fix refcount-related spidev oops-on-rmmod · b2c8dadd
      David Brownell 提交于
      This addresses other oopsing paths in "spidev" by changing how it manages
      refcounting.  It decouples the lifecycle of the per-device data from the
      class device (not just the spi device):
      
        - Use class_{create,destroy} not class_{register,unregister}.
        - Use device_{create,destroy} not device_{register,unregister}.
        - Free the per-device data only when TWO conditions are true:
            * Driver is unbound from underlying SPI device, and
            * Device is no longer open (new)
      
      Also, spi_{get,set}_drvdata not dev_{get,set}_drvdata for simpler code.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Sebastian Siewior <bigeasy@tglx.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b2c8dadd
  2. 06 6月, 2008 24 次提交
  3. 05 6月, 2008 3 次提交