Permalink
Switch branches/tags
Commits on Jun 5, 2010
  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Jun 5, 2010
    …/git/viro/vfs-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
      Minix: Clean up left over label
      fix truncate inode time modification breakage
      fix setattr error handling in sysfs, configfs
      fcntl: return -EFAULT if copy_to_user fails
      wrong type for 'magic' argument in simple_fill_super()
      fix the deadlock in qib_fs
      mqueue doesn't need make_bad_inode()
  2. Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-f…

    torvalds committed Jun 5, 2010
    …or-linus
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
      module: fix bne2 "gave up waiting for init of module libcrc32c"
      module: verify_export_symbols under the lock
      module: move find_module check to end
      module: make locking more fine-grained.
      module: Make module sysfs functions private.
      module: move sysfs exposure to end of load_module
      module: fix kdb's illicit use of struct module_use.
      module: Make the 'usage' lists be two-way
  3. module: fix bne2 "gave up waiting for init of module libcrc32c"

    rustyrussell committed Jun 5, 2010
    Problem: it's hard to avoid an init routine stumbling over a
    request_module these days.  And it's not clear it's always a bad idea:
    for example, a module like kvm with dynamic dependencies on kvm-intel
    or kvm-amd would be neater if it could simply request_module the right
    one.
    
    In this particular case, it's libcrc32c:
    
    	libcrc32c_mod_init
    	 crypto_alloc_shash
    	  crypto_alloc_tfm
    	   crypto_find_alg
    	    crypto_alg_mod_lookup
    	     crypto_larval_lookup
    	      request_module
    
    If another module is waiting inside resolve_symbol() for libcrc32c to
    finish initializing (ie. bne2 depends on libcrc32c) then it does so
    holding the module lock, and our request_module() can't make progress
    until that is released.
    
    Waiting inside resolve_symbol() without the lock isn't all that hard:
    we just need to pass the -EBUSY up the call chain so we can sleep
    where we don't hold the lock.  Error reporting is a bit trickier: we
    need to copy the name of the unfinished module before releasing the
    lock.
    
    Other notes:
    1) This also fixes a theoretical issue where a weak dependency would allow
       symbol version mismatches to be ignored.
    2) We rename use_module to ref_module to make life easier for the only
       external user (the out-of-tree ksplice patches).
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Tim Abbot <tabbott@ksplice.com>
    Tested-by: Brandon Philips <bphilips@suse.de>
  4. module: verify_export_symbols under the lock

    rustyrussell committed Jun 5, 2010
    It disabled preempt so it was "safe", but nothing stops another module
    slipping in before this module is added to the global list now we don't
    hold the lock the whole time.
    
    So we check this just after we check for duplicate modules, and just
    before we put the module in the global list.
    
    (find_symbol finds symbols in coming and going modules, too).
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  5. module: move find_module check to end

    torvalds authored and rustyrussell committed Jun 5, 2010
    I think Rusty may have made the lock a bit _too_ finegrained there, and
    didn't add it to some places that needed it. It looks, for example, like
    PATCH 1/2 actually drops the lock in places where it's needed
    ("find_module()" is documented to need it, but now load_module() didn't
    hold it at all when it did the find_module()).
    
    Rather than adding a new "module_loading" list, I think we should be able
    to just use the existing "modules" list, and just fix up the locking a
    bit.
    
    In fact, maybe we could just move the "look up existing module" a bit
    later - optimistically assuming that the module doesn't exist, and then
    just undoing the work if it turns out that we were wrong, just before
    adding ourselves to the list.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  6. module: make locking more fine-grained.

    rustyrussell committed Jun 5, 2010
    Kay Sievers <kay.sievers@vrfy.org> reports that we still have some
    contention over module loading which is slowing boot.
    
    Linus also disliked a previous "drop lock and regrab" patch to fix the
    bne2 "gave up waiting for init of module libcrc32c" message.
    
    This is more ambitious: we only grab the lock where we need it.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Brandon Philips <brandon@ifup.org>
    Cc: Kay Sievers <kay.sievers@vrfy.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
  7. module: Make module sysfs functions private.

    rustyrussell committed Jun 5, 2010
    These were placed in the header in ef665c1 to get the various
    SYSFS/MODULE config combintations to compile.
    
    That may have been necessary then, but it's not now.  These functions
    are all local to module.c.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Randy Dunlap <randy.dunlap@oracle.com>
  8. module: move sysfs exposure to end of load_module

    rustyrussell committed Jun 5, 2010
    This means a little extra work, but is more logical: we don't put
    anything in sysfs until we're about to put the module into the
    global list an parse its parameters.
    
    This also gives us a logical place to put duplicate module detection
    in the next patch.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  9. module: fix kdb's illicit use of struct module_use.

    rustyrussell committed Jun 5, 2010
    Linus changed the structure, and luckily this didn't compile any more.
    
    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Jason Wessel <jason.wessel@windriver.com>
    Cc: Martin Hicks <mort@sgi.com>
  10. module: Make the 'usage' lists be two-way

    torvalds authored and rustyrussell committed May 31, 2010
    When adding a module that depends on another one, we used to create a
    one-way list of "modules_which_use_me", so that module unloading could
    see who needs a module.
    
    It's actually quite simple to make that list go both ways: so that we
    not only can see "who uses me", but also see a list of modules that are
    "used by me".
    
    In fact, we always wanted that list in "module_unload_free()": when we
    unload a module, we want to also release all the other modules that are
    used by that module.  But because we didn't have that list, we used to
    first iterate over all modules, and then iterate over each "used by me"
    list of that module.
    
    By making the list two-way, we simplify module_unload_free(), and it
    allows for some trivial fixes later too.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (cleaned & rebased)
Commits on Jun 4, 2010
  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    torvalds committed Jun 4, 2010
    …/git/dtor/input
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: wacom - add Cintiq 21UX2 and Intuos4 WL
      Input: ads7846 - fix compiler warning in ads7846_probe()
      Input: tps6507x-ts - a couple work queue cleanups
      Input: s3c2410_ts - tone down logging
      Input: s3c2410_ts - fix build error due to ADC Kconfig rename
  2. Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

    torvalds committed Jun 4, 2010
    * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (23 commits)
      sh: Make intc messages consistent via pr_fmt.
      sh: make sure static declaration on ms7724se
      sh: make sure static declaration on mach-migor
      sh: make sure static declaration on mach-ecovec24
      sh: make sure static declaration on mach-ap325rxa
      clocksource: sh_cmt: compute mult and shift before registration
      clocksource: sh_tmu: compute mult and shift before registration
      sh: PIO disabling for x3proto and urquell.
      sh: mach-sdk7786: conditionally disable PIO support.
      sh: support for platforms without PIO.
      usb: r8a66597-hcd pio to mmio accessor conversion.
      usb: gadget: r8a66597-udc pio to mmio accessor conversion.
      usb: gadget: m66592-udc pio to mmio accessor conversion.
      sh: add romImage MMCIF boot for sh7724 and Ecovec V2
      sh: add boot code to MMCIF driver header
      sh: prepare MMCIF driver header file
      sh: allow romImage data between head.S and the zero page
      sh: Add support MMCIF for ecovec
      sh: remove duplicated #include
      input: serio: disable i8042 for non-cayman sh platforms.
      ...
  3. Merge branch 'linux_next' of git://git.kernel.org/pub/scm/linux/kerne…

    torvalds committed Jun 4, 2010
    …l/git/mchehab/i7core
    
    * 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/i7core: (83 commits)
      i7core_edac: Better describe the supported devices
      Add support for Westmere to i7core_edac driver
      i7core_edac: don't free on success
      i7core_edac: Add support for X5670
      Always call i7core_[ur]dimm_check_mc_ecc_err
      i7core_edac: fix memory leak of i7core_dev
      EDAC: add __init to i7core_xeon_pci_fixup
      i7core_edac: Fix wrong device id for channel 1 devices
      i7core: add support for Lynnfield alternate address
      i7core_edac: Add initial support for Lynnfield
      i7core_edac: do not export static functions
      edac: fix i7core build
      edac: i7core_edac produces undefined behaviour on 32bit
      i7core_edac: Use a more generic approach for probing PCI devices
      i7core_edac: PCI device is called NONCORE, instead of NOCORE
      i7core_edac: Fix ringbuffer maxsize
      i7core_edac: First store, then increment
      i7core_edac: Better parse "any" addrmask
      i7core_edac: Use a lockless ringbuffer
      edac: Create an unique instance for each kobj
      ...
  4. Merge branch 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/k…

    torvalds committed Jun 4, 2010
    …ernel/git/mchehab/linux-2.6
    
    * 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (87 commits)
      V4L/DVB: ivtv: Timing tweaks and code re-order to try and improve stability
      V4L/DVB: ivtv: Avoid accidental video standard change
      V4L/DVB: ivtvfb : Module load / unload fixes
      V4L/DVB: cx2341x: Report correct temporal setting for log-status
      V4L/DVB: cx18, cx23885, v4l2 doc, MAINTAINERS: Update Andy Walls' email address
      V4L/DVB: drivers/media: Eliminate a NULL pointer dereference
      V4L/DVB: dvb-core: Fix ULE decapsulation bug
      V4L/DVB: Bug fix: make IR work again for dm1105
      V4L/DVB: media/IR: nec-decoder needs to select BITREV
      V4L/DVB: video/saa7134: change dprintk() to i2cdprintk()
      V4L/DVB: video/saa7134: remove duplicate break
      V4L/DVB: IR/imon: add auto-config for 0xffdc rf device
      V4L/DVB: IR/imon: clean up usage of bools
      V4L/DVB: em28xx: remove unneeded null checks
      V4L/DVB: ngene: remove unused #include <linux/version.h>
      V4L/DVB: ak881x needs slab.h
      V4L/DVB: FusionHDTV: Use quick reads for I2C IR device probing
      V4L/DVB: Technotrend S2-3200 ships with a TT 1500 remote
      V4L/DVB: drivers/media: Use kzalloc
      V4L/DVB: m920x: Select simple tuner
      ...
  5. Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

    torvalds committed Jun 4, 2010
    * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (27 commits)
      block: make blk_init_free_list and elevator_init idempotent
      block: avoid unconditionally freeing previously allocated request_queue
      pipe: change /proc/sys/fs/pipe-max-pages to byte sized interface
      pipe: change the privilege required for growing a pipe beyond system max
      pipe: adjust minimum pipe size to 1 page
      block: disable preemption before using sched_clock()
      cciss: call BUG() earlier
      Preparing 8.3.8rc2
      drbd: Reduce verbosity
      drbd: use drbd specific ratelimit instead of global printk_ratelimit
      drbd: fix hang on local read errors while disconnected
      drbd: Removed the now empty w_io_error() function
      drbd: removed duplicated #includes
      drbd: improve usage of MSG_MORE
      drbd: need to set socket bufsize early to take effect
      drbd: improve network latency, TCP_QUICKACK
      drbd: Revert "drbd: Create new current UUID as late as possible"
      brd: support discard
      Revert "writeback: fix WB_SYNC_NONE writeback from umount"
      Revert "writeback: ensure that WB_SYNC_NONE writeback with sb pinned is sync"
      ...
  6. Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…

    torvalds committed Jun 4, 2010
    …git/mmarek/kbuild-2.6
    
    * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
      gconfig: fix build failure on fedora 13
  7. Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6

    torvalds committed Jun 4, 2010
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (27 commits)
      Staging: sep: return -EFAULT on copy_to_user errors
      Staging: rc2860: return -EFAULT on copy_to_user errors
      Staging: Eliminate a NULL pointer dereference
      staging: Use GFP_ATOMIC when a lock is held
      Staging: comedi - correct parameter gainlkup for DAQCard-6024E in driver ni_mio_cs.c
      Staging: comedi: fixing ni_labpc to mite dependancy
      Staging: wlags49_h2, wlags49_h25: fixed Kconfig dependencies
      Staging: phison: depends on ATA_BMDMA
      Staging: iio-utils: fix memory overflow for dynamically allocateded memory to hold filename
      Staging: adis16255: add proper section markings to hotplug funcs
      Staging: adis16255: fix typo in Kconfig
      Staging: batman-adv: Don't allocate icmp packet with GFP_KERNEL
      Staging: batman-adv: Don't call free_netdev twice
      Staging: batman-adv: Call unregister_netdev on failures to get rtnl lock
      Staging: batman-adv: fix rogue packets on shutdown
      Staging: add MSM framebuffer driver
      Staging: comedi: fixing ni_tio to mite PCI dependancy
      Staging: comedi: fix 8255 and DAS08 Kconfig dependancies.
      Staging: comedi: For COMEDI_BUFINFO, check access to command
      Staging: comedi: COMEDI_BUFINFO with no async - report no bytes read or written
      ...
  8. Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-cor…

    torvalds committed Jun 4, 2010
    …e-2.6
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
      fix setattr error handling in sysfs, configfs
      kobject: free memory if netlink_kernel_create() fails
      lib/kobject_uevent.c: fix CONIG_NET=n warning
  9. Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6

    torvalds committed Jun 4, 2010
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
      serial: add support for various Titan PCI cards
      vt_ioctl: return -EFAULT on copy_from_user errors
      serial: altera_uart: Proper section for altera_uart_remove
      tty: fix a little bug in scrup, vt.c
      altera_uart: Simplify altera_uart_console_putc
      altera_uart: Don't take spinlock in already protected functions
      TTY/n_gsm: potential double lock
      serial: bfin_5xx: fix typo in IER check
      serial: bfin_5xx: IRDA is not affected by anomaly 05000230
      serial_cs: add and sort IDs for serial and modem cards
      msm_serial: fix serial on trout
  10. Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

    torvalds committed Jun 4, 2010
    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
      USB: unbind all interfaces before rebinding them
      USB: serial: digi_acceleport: Eliminate a NULL pointer dereference
      usb: fix ehci_hcd build failure when both generic-OF and xilinx is selected
      USB: cdc-acm: fix resource reclaim in error path of acm_probe
      USB: ftdi_sio: fix DTR/RTS line modes
      USB: s3c-hsotg: Ensure FIFOs are fully flushed after layout
      USB: s3c-hsotg: SoftDisconnect minimum 3ms
      USB: s3c-hsotg: Ensure TX FIFO addresses setup when initialising FIFOs
      USB: s3c_hsotg: define USB_GADGET_DUALSPEED in Kconfig
      USB: s3c: Enable soft disconnect during initialization
      USB: xhci: Print NEC firmware version.
      USB: xhci: Wait for host to start running.
      USB: xhci: Wait for controller to be ready after reset.
      USB: isp1362: fix inw warning on Blackfin systems
      USB: mos7840: fix null-pointer dereference
  11. omap: remove BUG_ON for disabled interrupts

    darkstar62 authored and torvalds committed Jun 4, 2010
    Remove a BUG_ON for when interrupts are disabled during an MMC request.
    
    During boot, interrupts can be disabled when a request is made, causing
    this bug to be triggered.  In reality, there's no reason this should halt
    the kernel, as the driver has proved reliable in spite of disabled
    interrupts, and additionally, there's nothing in this code that would
    require interrupts to be enabled.
    
    The only setup I've managed to make it trigger on is on the HTC Herald
    during bootup when the driver is built into the kernel (mostly because
    that's all I have).  I believe it's related to the fact that on bootup I
    get many timeout errors on "CMD5" while initializing the card.  Each CMD5
    timeout triggers that bug (I changed it to a WARN_ON to get it to boot in)
    due to the fact that part of the timeout code involves sending the request
    again.  With interrupts turned off, that BUG would be triggered.
    
    Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Cc: <linux-mmc@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  12. vmscan: fix do_try_to_free_pages() return value when priority==0 recl…

    kosaki authored and torvalds committed Jun 4, 2010
    …aim failure
    
    Greg Thelen reported recent Johannes's stack diet patch makes kernel hang.
     His test is following.
    
      mount -t cgroup none /cgroups -o memory
      mkdir /cgroups/cg1
      echo $$ > /cgroups/cg1/tasks
      dd bs=1024 count=1024 if=/dev/null of=/data/foo
      echo $$ > /cgroups/tasks
      echo 1 > /cgroups/cg1/memory.force_empty
    
    Actually, This OOM hard to try logic have been corrupted since following
    two years old patch.
    
    	commit a41f24e
    	Author: Nishanth Aravamudan <nacc@us.ibm.com>
    	Date:   Tue Apr 29 00:58:25 2008 -0700
    
    	    page allocator: smarter retry of costly-order allocations
    
    Original intention was "return success if the system have shrinkable zones
    though priority==0 reclaim was failure".  But the above patch changed to
    "return nr_reclaimed if .....".  Oh, That forgot nr_reclaimed may be 0 if
    priority==0 reclaim failure.
    
    And Johannes's patch 0aeb233 ("vmscan: remove all_unreclaimable scan
    control") made it more corrupt.  Originally, priority==0 reclaim failure
    on memcg return 0, but this patch changed to return 1.  It totally
    confused memcg.
    
    This patch fixes it completely.
    
    Reported-by: Greg Thelen <gthelen@google.com>
    Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Tested-by: Greg Thelen <gthelen@google.com>
    Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  13. kernel/: fix BUG_ON checks for cpu notifier callbacks direct call

    mita authored and torvalds committed Jun 4, 2010
    The commit 80b5184 ("kernel/: convert cpu
    notifier to return encapsulate errno value") changed the return value of
    cpu notifier callbacks.
    
    Those callbacks don't return NOTIFY_BAD on failures anymore.  But there
    are a few callbacks which are called directly at init time and checking
    the return value.
    
    I forgot to change BUG_ON checking by the direct callers in the commit.
    
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  14. cgroups: alloc_css_id() increments hierarchy depth

    Greg Thelen authored and torvalds committed Jun 4, 2010
    Child groups should have a greater depth than their parents.  Prior to
    this change, the parent would incorrectly report zero memory usage for
    child cgroups when use_hierarchy is enabled.
    
    test script:
      mount -t cgroup none /cgroups -o memory
      cd /cgroups
      mkdir cg1
    
      echo 1 > cg1/memory.use_hierarchy
      mkdir cg1/cg11
    
      echo $$ > cg1/cg11/tasks
      dd if=/dev/zero of=/tmp/foo bs=1M count=1
    
      echo
      echo CHILD
      grep cache cg1/cg11/memory.stat
    
      echo
      echo PARENT
      grep cache cg1/memory.stat
    
      echo $$ > tasks
      rmdir cg1/cg11 cg1
      cd /
      umount /cgroups
    
    Using fae9c79, a recent patch that changed alloc_css_id() depth computation,
    the parent incorrectly reports zero usage:
      root@ubuntu:~# ./test
      1+0 records in
      1+0 records out
      1048576 bytes (1.0 MB) copied, 0.0151844 s, 69.1 MB/s
    
      CHILD
      cache 1048576
      total_cache 1048576
    
      PARENT
      cache 0
      total_cache 0
    
    With this patch, the parent correctly includes child usage:
      root@ubuntu:~# ./test
      1+0 records in
      1+0 records out
      1048576 bytes (1.0 MB) copied, 0.0136827 s, 76.6 MB/s
    
      CHILD
      cache 1052672
      total_cache 1052672
    
      PARENT
      cache 0
      total_cache 1052672
    
    Signed-off-by: Greg Thelen <gthelen@google.com>
    Acked-by: Paul Menage <menage@google.com>
    Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Acked-by: Li Zefan <lizf@cn.fujitsu.com>
    Cc: <stable@kernel.org>		[2.6.34.x]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  15. lib: add s390 to atomic64_dec_if_positive archs

    heicarst authored and torvalds committed Jun 4, 2010
    Add s390 to list of architectures that have atomic64_dec_if_positive
    implemented so we get rid of this warning:
    
    lib/atomic64_test.c:129:2: warning: #warning Please implement
    atomic64_dec_if_positive for your architecture, and add it to the IF above
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Luca Barbieri <luca@luca-barbieri.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  16. fbdev: fix frame buffer devices menu

    Thadeu Lima de Souza Cascardo authored and torvalds committed Jun 4, 2010
    Commit f601441 ("imxfb: add support for
    i.MX25:) has inserted the symbol HAVE_FB_IMX, which does not depend on FB
    after the menuconfig FB.  This breaks the menu, presenting most of the
    drivers outside of it, when using menuconfig.
    
    Moving the symbol to the start of the file, just like HAVE_FB_ATMEL, fixes
    the problem without breaking it for iMX25 configurations (tested with
    ARCH=arm, no build).
    
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
    Cc: Sascha Hauer <s.hauer@pengutronix.de>
    Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Acked-by: Baruch Siach <baruch@tkos.co.il>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  17. arch/um: fix kunmap_atomic() call in skas/uaccess.c

    cesarb authored and torvalds committed Jun 4, 2010
    kunmap_atomic() takes a pointer to within the page, not the struct page.
    
    Signed-off-by: Cesar Eduardo Barros <cesarb@cesarb.net>
    Cc: Jeff Dike <jdike@addtoit.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  18. sys_personality: change sys_personality() to accept "unsigned int" in…

    utrace authored and torvalds committed Jun 4, 2010
    …stead of u_long
    
    task_struct->pesonality is "unsigned int", but sys_personality() paths use
    "unsigned long pesonality".  This means that every assignment or
    comparison is not right.  In particular, if this argument does not fit
    into "unsigned int" __set_personality() changes the caller's personality
    and then sys_personality() returns -EINVAL.
    
    Turn this argument into "unsigned int" and avoid overflows.  Obviously,
    this is the user-visible change, we just ignore the upper bits.  But this
    can't break the sane application.
    
    There is another thing which can confuse the poorly written applications.
    User-space thinks that this syscall returns int, not long.  This means
    that the returned value can be negative and look like the error code.  But
    note that libc won't be confused and thus errno won't be set, and with
    this patch the user-space can never get -1 unless sys_personality() really
    fails.  And, most importantly, the negative RET != -1 is only possible if
    that app previously called personality(RET).
    
    Pointed-out-by: Wenming Zhang <wezhang@redhat.com>
    Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  19. fb_defio: redo fix for non-dirty ptes

    Albert Herranz authored and torvalds committed Jun 4, 2010
    As pointed by Nick Piggin, ->page_mkwrite provides a way to keep a page
    locked until the associated PTE is marked dirty.
    
    Re-implement the fix by using this mechanism.
    
    Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
    Acked-by: Jaya Kumar <jayakumar.lkml@gmail.com>
    Acked-by: Nick Piggin <npiggin@suse.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  20. Revert "fb_defio: fix for non-dirty ptes"

    Albert Herranz authored and torvalds committed Jun 4, 2010
    This reverts commit 49bbd81 ("fb_defio:
    fix for non-dirty ptes").
    
    Although the fix provided is correct, it's been suggested to avoid the
    underlying race in the same way as it is currently done in filesystems
    like NFS, for maintainability.
    
    A following patch "fb_defio: redo fix for non-dirty ptes" will provide
    such an alternate fix.
    
    Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
    Cc: Jaya Kumar <jayakumar.lkml@gmail.com>
    Cc: Nick Piggin <nickpiggin@yahoo.com.au>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  21. flat: fix unmap len in load error path

    vapier authored and torvalds committed Jun 4, 2010
    The data chunk is mmaped with 'len' which remains unchanged, so use that
    when unmapping in the error path rather than trying to recalculate (and
    incorrectly so) the value used originally.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    Acked-by: David McCullough <davidm@snapgear.com>
    Acked-by: Greg Ungerer <gerg@uclinux.org>
    Cc: Paul Mundt <lethal@linux-sh.org>
    Cc: Michal Simek <monstr@monstr.eu>
    Cc: Hirokazu Takata <takata@linux-m32r.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  22. fs/binfmt_flat.c: split the stack & data alignments

    vapier authored and torvalds committed Jun 4, 2010
    The stack and data have different alignment requirements, so don't force
    them to wear the same shoe.  Increase the data alignment to match that
    which the elf2flt linker script has always been using: 0x20 bytes.  Not
    only does this bring the kernel loader in line with the toolchain, but it
    also fixes a swath of gcc tests which try to force larger alignment values
    but randomly fail when the FLAT loader fails to deliver.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: David Woodhouse <David.Woodhouse@intel.com>
    Cc: Pekka Enberg <penberg@cs.helsinki.fi>
    Acked-by: David McCullough <davidm@snapgear.com>
    Acked-by: Greg Ungerer <gerg@uclinux.org>
    Cc: Paul Mundt <lethal@linux-sh.org>
    Tested-by: Michal Simek <monstr@monstr.eu>
    Cc: Hirokazu Takata <takata@linux-m32r.org>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Jie Zhang <jie@codesourcery.com>
    Cc: David Howells <dhowells@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  23. vmware balloon: clamp number of collected non-balloonable pages

    Dmitry Torokhov authored and torvalds committed Jun 4, 2010
    Limit number of accumulated non-balloonable pages during inflation cycle,
    otherwise there is a chance we will be spinning and growing the list
    forever.  This happens during torture tests when balloon target changes
    while we are in the middle of inflation cycle and monitor starts refusing
    to lock pages (since they are not needed anymore).
    
    Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
    Acked-by: Bhavesh Davda <bhavesh@vmware.com>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  24. xtensa: invoke oom-killer from page fault

    Nick Piggin authored and torvalds committed Jun 4, 2010
    As explained in commit 1c0fe6e ("mm: invoke oom-killer from page
    fault") , we want to call the architecture independent oom killer when
    getting an unexplained OOM from handle_mm_fault, rather than simply
    killing current.
    
    Signed-off-by: Nick Piggin <npiggin@suse.de>
    Acked-by: David Rientjes <rientjes@google.com>
    Cc: Chris Zankel <chris@zankel.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  25. mn10300: invoke oom-killer from page fault

    Nick Piggin authored and torvalds committed Jun 4, 2010
    As explained in commit 1c0fe6e ("mm: invoke oom-killer from page
    fault") , we want to call the architecture independent oom killer when
    getting an unexplained OOM from handle_mm_fault, rather than simply
    killing current.
    
    Signed-off-by: Nick Piggin <npiggin@suse.de>
    Acked-by: David Rientjes <rientjes@google.com>
    Acked-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>