1. 22 2月, 2013 30 次提交
    • G
      video: mmp display controller support · d63028c3
      Guoqing Li 提交于
      Marvell mmp series display controller support in mmpdisp subsystem.
      
      This driver focus on implementation of hardware operations of
      path/overlay, which is defined in mmp display subsystem interface.  This
      driver registers all pathes to mmp display framework.
      Signed-off-by: NGuoqing Li <ligq@marvell.com>
      Signed-off-by: NLisa Du <cldu@marvell.com>
      Signed-off-by: NZhou Zhu <zzhu3@marvell.com>
      Acked-by: NHaojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d63028c3
    • A
      fb: mmp: include linux/platform_device.h · 24cb87a7
      Arnd Bergmann 提交于
      Commit 16559ae4 ("kgdb: remove #include <linux/serial_8250.h> from
      kgdb.h") changes the kgdb.h file so that drivers including it do not
      implicitly include linux/platform_device.h.  The mmp framebuffer driver
      is new, so Greg did not have a chance to fix it up when introducing his
      change.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Zhou Zhu <zzhu3@marvell.com>
      Cc: Lisa Du <cldu@marvell.com>
      Cc: Guoqing Li <ligq@marvell.com>
      Acked-by: NHaojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      24cb87a7
    • Z
      video: mmp fb support · d2e8bae6
      Zhou Zhu 提交于
      Add fb support for Marvell mmp display subsystem.  This driver is
      configured using "buffer driver mach info".  With configured name of path,
      this driver get path using using exported interface of mmp display driver.
      Then this driver get overlay using configured id and operates on this
      overlay to show buffers on display devices.
      Signed-off-by: NZhou Zhu <zzhu3@marvell.com>
      Signed-off-by: NLisa Du <cldu@marvell.com>
      Cc: Guoqing Li <ligq@marvell.com>
      Acked-by: NHaojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d2e8bae6
    • Z
      video: mmp display subsystem · 59393bb9
      Zhou Zhu 提交于
      Add mmp display subsystem to support Marvell MMP display controllers.
      
      This subsystem contains 4 parts:
      --fb folder
      --core.c
      --hw folder
      --panel folder
      
      1. fb folder contains implementation of fb.  fb get path and overlay
         from common interface and operates on these structures.
      
      2. core.c provides common interface for a hardware abstraction.  Major
         parts of this interface are:
      
         a) Path: path is a output device connected to a panel or HDMI TV.  Main
            operations of the path is set/get timing/output color.  fb operates
            output device through path structure.
      
         b) Ovly: Ovly is a buffer shown on the path.
      
            Ovly describes frame buffer and its source/destination size, offset,
            input color, buffer address, z-order, and so on.  Each fb device maps
            to one overlay.
      
      3. hw folder contains implementation of hardware operations defined by
         core.c.  It registers paths for fb use.
      
      4. panel folder contains implementation of panels.  It's connected to
         path.  Panel drivers would also regiester panels and linked to path
         when probe.
      Signed-off-by: NZhou Zhu <zzhu3@marvell.com>
      Signed-off-by: NLisa Du <cldu@marvell.com>
      Cc: Guoqing Li <ligq@marvell.com>
      Acked-by: NHaojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      59393bb9
    • A
      goldfish: framebuffer driver · c289ba2d
      Arve Hjønnevåg 提交于
      Framebuffer support for the Goldfish emulator.  This takes the Google
      emulator and applies the x86 cleanups as well as moving the blank
      methods to the usual Linux place and dropping the Android early suspend
      logic (for now at least, that can be looked at as Android and upstream
      converge).  Dropped various oddities like setting MTRRs on a virtual
      frame buffer emulation...
      
      With the drivers so far you can now boot a Linux initrd and have fun.
      
      [sheng@linux.intel.com: cleaned up to handle x86]
      [thomas.keel@intel.com: ported to 3.4]
      [alan@linux.intel.com: cleaned up for style and 3.7, moved blank methods]
      [akpm@linux-foundation.org: fix (silly) sparse warnings]
      Signed-off-by: NMike A. Chan <mikechan@google.com>
      Signed-off-by: NArve Hjønnevåg <arve@android.com>
      Signed-off-by: NSheng Yang <sheng@linux.intel.com>
      Signed-off-by: NYunhong Jiang <yunhong.jiang@intel.com>
      Signed-off-by: NXiaohui Xin <xiaohui.xin@intel.com>
      Signed-off-by: NJun Nakajima <jun.nakajima@intel.com>
      Signed-off-by: NBruce Beare <bruce.j.beare@intel.com>
      Signed-off-by: NTom Keel <thomas.keel@intel.com>
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c289ba2d
    • K
      fbcon: clear the logo bitmap from the margin area · 256fc0e5
      Kamal Mostafa 提交于
      Explicitly clear_margins when clearing the logo, in case the font dimensions
      are non-integral to the framebuffer dimensions.
      Signed-off-by: NKamal Mostafa <kamal@whence.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      256fc0e5
    • C
      pcmcia: move unbind/rebind into dev_pm_ops.complete · 42b5dd51
      Christian Lamparter 提交于
      Move the device rebind procedures for cardbus devices from the pm.resume
      into the pm.complete callback.
      
      The reason for moving the code is: "[...] The PM code needs to send
      suspend and resume messages to every device in the right order, and it
      can't do that if new devices are being added at the same time.  [...]"
      
      However the situation really isn't quite that rigid.  In particular,
      adding new children during a resume callback shouldn't cause much of
      problem because the children don't need to be resumed anyway (since they
      were never suspended).  On the other hand, if you do it you will get a
      dev_warn() from the PM core, something like 'parent should not be
      sleeping'.
      
      Still, it is considered bad form and should be avoided if possible."
      
      (Alan Stern's full comment about the topic can
      be found here: <https://lkml.org/lkml/2012/7/10/254>)
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Greg KH <greg@kroah.com>
      Acked-by: N"Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      42b5dd51
    • G
      cris: use "int" for ssize_t to match size_t · ddfe9b35
      Geert Uytterhoeven 提交于
      On cris-linux-gcc, __SIZE_TYPE__ expands to "unsigned int", as
      gcc-4.6.3-nolibc/cris-linux/lib/gcc/cris-linux/4.6.3/plugin/include/config/cris/linux.h
      has
      
          #define SIZE_TYPE "unsigned int"
      
      Hence __kernel_size_t is also "unsigned int".  But __kernel_ssize_t is
      "long", which has a different base type, causing compiler warnings like:
      
          fs/quota/quota_tree.c:372:4: warning: format '%zd' expects argument of type 'signed size_t', but argument 4 has type 'ssize_t' [-Wformat]
      
      To fix this, __kernel_ssize_t should be changed to "int". Hence cris can
      just use the generic 32-bit versions from include/asm-generic/posix_types.h
      for all size-related types.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: Mikael Starvik <starvik@axis.com>
      Acked-by: NJesper Nilsson <jesper.nilsson@axis.com>
      Cc: Hans-Peter Nilsson <hans-peter.nilsson@axis.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ddfe9b35
    • W
      mn10300: use for_each_pci_dev to simplify the code · 3b639183
      Wei Yongjun 提交于
      Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3b639183
    • M
      fs/block_dev.c: page cache wrongly left invalidated after revalidate_disk() · 7630b661
      MITSUNARI Shigeo 提交于
      We found that bdev->bd_invalidated was left set once revalidate_disk()
      is called, which results in page cache flush every time that device is
      open.
      
      Specifically, we found this problem in MD block device.  Once we resize
      a MD device, mdadm --monitor periodically flush all page cache for that
      device every 60 or 1000 seconds when it opens the device.
      
      This bug lies since at least 3.2.0 till the latest kernel(3.6.2).  Patch
      is attached.
      
      The following steps will reproduce the problem.
      
      1. prepair a block device (eg /dev/sdb).
      
      2. create two partitions:
      
         sudo parted /dev/sdb
         mklabel gpt
         mkpart primary 0% 50%
         mkpart primary 50% 100%
      
      3. create a md device.
      
         sudo mdadm -C /dev/md/hoge -l 1 -n 2 -e 1.2 --assume-clean --auto=md --symlink=no /dev/sdb1 /dev/sdb2
      
      4. create file system and mount it
      
         sudo mkfs.ext3 /dev/md/hoge
         sudo mkdir /mnt/test
         sudo mount /dev/md/hoge /mnt/test
      
      5. try to resize the device
      
         sudo mdadm -G /dev/md/hoge --size=max
      
      6. create a file to fill file cache.
      
        sudo dd if=/dev/urandom of=/mnt/test/data bs=1M count=10
      
      and verify the current status of file by free command.
      
      7. mdadm monitor will open the md device every 1000 seconds and you
         will find all file cache on the device are cleared.
      
      The timing can be reduced by the following steps.
      
      a) kill mdadm and restart it with --delay option
      
         /sbin/mdadm --monitor --delay=30 --pid-file /var/run/mdadm/monitor.pid --daemonise --scan --syslog
      
      or open the md device directly.
      
         sudo dd if=/dev/md/hoge of=/dev/null bs=4096 count=1
      Signed-off-by: NMITSUNARI Shigeo <herumi@nifty.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7630b661
    • J
      inotify: remove broken mask checks causing unmount to be EINVAL · 676a0675
      Jim Somerville 提交于
      Running the command:
      
      	inotifywait -e unmount /mnt/disk
      
      immediately aborts with a -EINVAL return code.  This is however a valid
      parameter.  This abort occurs only if unmount is the sole event
      parameter.  If other event parameters are supplied, then the unmount
      event wait will work.
      
      The problem was introduced by commit 44b350fc ("inotify: Fix mask
      checks").  In that commit, it states:
      
      	The mask checks in inotify_update_existing_watch() and
      	inotify_new_watch() are useless because inotify_arg_to_mask()
      	sets FS_IN_IGNORED and FS_EVENT_ON_CHILD bits anyway.
      
      But instead of removing the useless checks, it did this:
      
      	        mask = inotify_arg_to_mask(arg);
      	-       if (unlikely(!mask))
      	+       if (unlikely(!(mask & IN_ALL_EVENTS)))
      	                return -EINVAL;
      
      The problem is that IN_ALL_EVENTS doesn't include IN_UNMOUNT, and other
      parts of the code keep IN_UNMOUNT separate from IN_ALL_EVENTS.  So the
      check should be:
      
      	if (unlikely(!(mask & (IN_ALL_EVENTS | IN_UNMOUNT))))
      
      But inotify_arg_to_mask(arg) always sets the IN_UNMOUNT bit in the mask
      anyway, so the check is always going to pass and thus should simply be
      removed.  Also note that inotify_arg_to_mask completely controls what
      mask bits get set from arg, there's no way for invalid bits to get
      enabled there.
      
      Lets fix it by simply removing the useless broken checks.
      Signed-off-by: NJim Somerville <Jim.Somerville@windriver.com>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Jerome Marchand <jmarchan@redhat.com>
      Cc: John McCutchan <john@johnmccutchan.com>
      Cc: Robert Love <rlove@rlove.org>
      Cc: Eric Paris <eparis@parisplace.org>
      Cc: <stable@vger.kernel.org>		[2.6.37+]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      676a0675
    • D
      compat: return -EFAULT on error in waitid() · bffea77c
      Dan Carpenter 提交于
      The copy_to_user() call returns the number of bytes remaining but we
      want to return -EFAULT on error.
      
      Fixes "x32: fix waitid()"
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bffea77c
    • D
      bug.h, compiler.h: introduce compiletime_assert & BUILD_BUG_ON_MSG · 9a8ab1c3
      Daniel Santos 提交于
      Introduce compiletime_assert to compiler.h, which moves the details of
      how to break a build and emit an error message for a specific compiler
      to the headers where these details should be.  Following in the
      tradition of the POSIX assert macro, compiletime_assert creates a
      build-time error when the supplied condition is *false*.
      
      Next, we add BUILD_BUG_ON_MSG to bug.h which simply wraps
      compiletime_assert, inverting the logic, so that it fails when the
      condition is *true*, consistent with the language "build bug on." This
      macro allows you to specify the error message you want emitted when the
      supplied condition is true.
      
      Finally, we remove all other code from bug.h that mucks with these
      details (BUILD_BUG & BUILD_BUG_ON), and have them all call
      BUILD_BUG_ON_MSG.  This not only reduces source code bloat, but also
      prevents the possibility of code being changed for one macro and not for
      the other (which was previously the case for BUILD_BUG and
      BUILD_BUG_ON).
      
      Since __compiletime_error_fallback is now only used in compiler.h, I'm
      considering it a private macro and removing the double negation that's
      now extraneous.
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: NDaniel Santos <daniel.santos@pobox.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9a8ab1c3
    • D
      compiler.h, bug.h: prevent double error messages with BUILD_BUG{,_ON} · c361d3e5
      Daniel Santos 提交于
      Prior to the introduction of __attribute__((error("msg"))) in gcc 4.3,
      creating compile-time errors required a little trickery.
      BUILD_BUG{,_ON} uses this attribute when available to generate
      compile-time errors, but also uses the negative-sized array trick for
      older compilers, resulting in two error messages in some cases.  The
      reason it's "some" cases is that as of gcc 4.4, the negative-sized array
      will not create an error in some situations, like inline functions.
      
      This patch replaces the negative-sized array code with the new
      __compiletime_error_fallback() macro which expands to the same thing
      unless the the error attribute is available, in which case it expands to
      do{}while(0), resulting in exactly one compile-time error on all
      versions of gcc.
      
      Note that we are not changing the negative-sized array code for the
      unoptimized version of BUILD_BUG_ON, since it has the potential to catch
      problems that would be disabled in later versions of gcc were
      __compiletime_error_fallback used.  The reason is that that an
      unoptimized build can't always remove calls to an error-attributed
      function call (like we are using) that should effectively become dead
      code if it were optimized.  However, using a negative-sized array with a
      similar value will not result in an false-positive (error).  The only
      caveat being that it will also fail to catch valid conditions, which we
      should be expecting in an unoptimized build anyway.
      Signed-off-by: NDaniel Santos <daniel.santos@pobox.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c361d3e5
    • D
      bug.h: make BUILD_BUG_ON generate compile-time error · a3ccc497
      Daniel Santos 提交于
      Negative sized arrays wont create a compile-time error in some cases
      starting with gcc 4.4 (e.g., inlined functions), but gcc 4.3 introduced
      the error function attribute that will.
      
      This patch modifies BUILD_BUG_ON to behave like BUILD_BUG already does,
      using the error function attribute so that you don't have to build the
      entire kernel to discover that you have a problem, and then enjoy trying
      to track it down from a link-time error.
      
      Also, we are only including asm/bug.h and then expecting that
      linux/compiler.h will eventually be included to define __linktime_error
      (used in BUILD_BUG_ON).  This patch includes it directly for clarity and
      to avoid the possibility of changes in <arch>/*/include/asm/bug.h being
      changed or not including linux/compiler.h for some reason.
      Signed-off-by: NDaniel Santos <daniel.santos@pobox.com>
      Acked-by: NBorislav Petkov <bp@alien8.de>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a3ccc497
    • D
      bug.h: prevent double evaulation of `condition' in BUILD_BUG_ON · 1d6a0d19
      Daniel Santos 提交于
      When calling BUILD_BUG_ON in an optimized build using gcc 4.3 and later,
      the condition will be evaulated twice, possibily with side-effects.  This
      patch eliminates that error.
      
      [akpm@linux-foundation.org: tweak code layout]
      Signed-off-by: NDaniel Santos <daniel.santos@pobox.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1d6a0d19
    • D
      bug.h: fix BUILD_BUG_ON macro in __CHECKER__ · ca623c91
      Daniel Santos 提交于
      When __CHECKER__ is defined, we disable all of the BUILD_BUG.* macros.
      However, both BUILD_BUG_ON_NOT_POWER_OF_2 and BUILD_BUG_ON was evaluating
      to nothing in this case, and we want (0) since this is a function-like
      macro that will be followed by a semicolon.
      Signed-off-by: NDaniel Santos <daniel.santos@pobox.com>
      Acked-by: NBorislav Petkov <bp@alien8.de>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ca623c91
    • D
      compiler{,-gcc4}.h, bug.h: Remove duplicate macros · 6ae8d048
      Daniel Santos 提交于
      __linktime_error() does the same thing as __compiletime_error() and is
      only used in bug.h.  Since the macro defines a function attribute that
      will cause a failure at compile-time (not link-time), it makes more sense
      to keep __compiletime_error(), which is also neatly mated with
      __compiletime_warning().
      Signed-off-by: NDaniel Santos <daniel.santos@pobox.com>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Acked-by: NBorislav Petkov <bp@alien8.de>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6ae8d048
    • D
      compiler-gcc{3,4}.h: Use GCC_VERSION macro · 733ed6e4
      Daniel Santos 提交于
      Using GCC_VERSION reduces complexity, is easier to read and is GCC's
      recommended mechanism for doing version checks.  (Just don't ask me why
      they didn't define it in the first place.) This also makes it easy to
      merge compiler-gcc{,3,4}.h should somebody want to.
      Signed-off-by: NDaniel Santos <daniel.santos@pobox.com>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Acked-by: NBorislav Petkov <bp@alien8.de>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      733ed6e4
    • D
      compiler-gcc.h: Add gcc-recommended GCC_VERSION macro · 3f3f8d2f
      Daniel Santos 提交于
      Throughout compiler*.h, many version checks are made.  These can be
      simplified by using the macro that gcc's documentation recommends.
      However, my primary reason for adding this is that I need bug-check
      macros that are enabled at certain gcc versions and it's cleaner to use
      this macro than the tradition method:
      
        #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ => 2)
      
      If you add patch level, it gets this ugly:
      
        #if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 2 || \
            __GNUC_MINOR__ == 2 __GNUC_PATCHLEVEL__ >= 1))
      
      As opposed to:
      
        #if GCC_VERSION >= 40201
      
      While having separate headers for gcc 3 & 4 eliminates some of this
      verbosity, they can still be cleaned up by this.
      
      See also:
      
        http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.htmlSigned-off-by: NDaniel Santos <daniel.santos@pobox.com>
      Acked-by: NBorislav Petkov <bp@alien8.de>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3f3f8d2f
    • D
      compiler-gcc4.h: Reorder macros based upon gcc ver · 6640dfdf
      Daniel Santos 提交于
      This helps to keep the file from getting confusing, removes one
      duplicate version check and should encourage future editors to put new
      macros where they belong.
      Signed-off-by: NDaniel Santos <daniel.santos@pobox.com>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Acked-by: NBorislav Petkov <bp@alien8.de>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6640dfdf
    • J
      device_cgroup: don't grab mutex in rcu callback · 53eb8c82
      Jerry Snitselaar 提交于
      Commit 103a197c ("security/device_cgroup: lock assert fails in
      dev_exception_clean()") grabs devcgroup_mutex to fix assert failure, but
      a mutex can't be grabbed in rcu callback.  Since there shouldn't be any
      other references when css_free is called, mutex isn't needed for list
      cleanup in devcgroup_css_free().
      Signed-off-by: NJerry Snitselaar <jerry.snitselaar@oracle.com>
      Acked-by: NTejun Heo <tj@kernel.org>
      Acked-by: NAristeu Rozanski <aris@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      53eb8c82
    • L
      Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 024e4ec1
      Linus Torvalds 提交于
      Pull pstore patches from Tony Luck:
       "A few fixes to reduce places where pstore might hang a system in the
        crash path.  Plus a new mountpoint (/sys/fs/pstore ...  makes more
        sense then /dev/pstore)."
      
      Fix up trivial conflict in drivers/firmware/efivars.c
      
      * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        pstore: Create a convenient mount point for pstore
        efi_pstore: Introducing workqueue updating sysfs
        efivars: Disable external interrupt while holding efivars->lock
        efi_pstore: Avoid deadlock in non-blocking paths
        pstore: Avoid deadlock in panic and emergency-restart path
      024e4ec1
    • L
      Merge tag 'dlm-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 850cb82b
      Linus Torvalds 提交于
      Pull dlm update from David Teigland:
       "This includes a single patch to avoid excessive and unnecessary
        scanning of rsbs to free."
      
      * tag 'dlm-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: avoid scanning unchanged toss lists
      850cb82b
    • L
      Merge tag 'nfs-for-3.9-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 2171ee8f
      Linus Torvalds 提交于
      Pull NFS client bugfixes from Trond Myklebust:
      
       - Fix an Oops in the pNFS layoutget code
      
       - Fix a number of NFSv4 and v4.1 state recovery deadlocks and hangs due
         to the interaction of the session drain lock and state management
         locks.
      
       - Remove task->tk_xprt, which was hiding a lot of RCU dereferencing
         bugs
      
       - Fix a long standing NFSv3 posix lock recovery bug.
      
       - Revert commit 324d003b ("NFS: add nfs_sb_deactive_async to avoid
         deadlock").  It turned out that the root cause of the deadlock was
         due to interactions with the workqueues that have now been resolved.
      
      * tag 'nfs-for-3.9-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (22 commits)
        NLM: Ensure that we resend all pending blocking locks after a reclaim
        umount oops when remove blocklayoutdriver first
        sunrpc: silence build warning in gss_fill_context
        nfs: remove kfree() redundant null checks
        NFSv4.1: Don't decode skipped layoutgets
        NFSv4.1: Fix bulk recall and destroy of layouts
        NFSv4.1: Fix an ABBA locking issue with session and state serialisation
        NFSv4: Fix a reboot recovery race when opening a file
        NFSv4: Ensure delegation recall and byte range lock removal don't conflict
        NFSv4: Fix up the return values of nfs4_open_delegation_recall
        NFSv4.1: Don't lose locks when a server reboots during delegation return
        NFSv4.1: Prevent deadlocks between state recovery and file locking
        NFSv4: Allow the state manager to mark an open_owner as being recovered
        SUNRPC: Add missing static declaration to _gss_mech_get_by_name
        Revert "NFS: add nfs_sb_deactive_async to avoid deadlock"
        SUNRPC: Nuke the tk_xprt macro
        SUNRPC: Avoid RCU dereferences in the transport bind and connect code
        SUNRPC: Fix an RCU dereference in xprt_reserve
        SUNRPC: Pass pointers to struct rpc_xprt to the congestion window
        SUNRPC: Fix an RCU dereference in xs_local_rpcbind
        ...
      2171ee8f
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw · 9b9a72a8
      Linus Torvalds 提交于
      Pull GFS2 updates from Steven Whitehouse:
       "This is one of the smallest collections of patches for the merge
        window for some time.  There are some clean ups relating to the
        transaction code and the shrinker, which are mostly in preparation for
        further development, but also make the code much easier to follow in
        these areas.
      
        There is a patch which allows the use of ->writepages even in the
        default ordered write mode for all writebacks.  This results in
        sending larger i/os to the block layer, and a subsequent increase in
        performance.  It also reduces the number of different i/o paths by
        one.
      
        There is also a bug fix reinstating the withdraw ack system which
        somehow got lost when the lock modules were merged into GFS2."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
        GFS2: Reinstate withdraw ack system
        GFS2: Get a block reservation before resizing a file
        GFS2: Split glock lru processing into two parts
        GFS2: Use ->writepages for ordered writes
        GFS2: Clean up freeze code
        GFS2: Merge gfs2_attach_bufdata() into trans.c
        GFS2: Copy gfs2_trans_add_bh into new data/meta functions
        GFS2: Split gfs2_trans_add_bh() into two
        GFS2: Merge revoke adding functions
        GFS2: Separate LRU scanning from shrinker
      9b9a72a8
    • L
      Merge tag 'for-linus-v3.9-rc1' of git://oss.sgi.com/xfs/xfs · 736a4c11
      Linus Torvalds 提交于
      Pull xfs update from Ben Myers:
       "Primarily bugfixes and a few cleanups:
      
         - fix(es) for compound buffers
      
         - remove unused XFS_TRANS_DEBUG routines
      
         - fix for dquot soft timer asserts due to overflow of d_blk_softlimit
      
         - don't zero allocation args structure members after they are memset(0)
      
         - fix for regression in dir v2 code introduced in commit 20f7e9f3
      
         - remove obsolete simple_strto<foo>
      
         - fix return value when filesystem probe finds no XFS magic, a
           regression introduced in 98021821.
      
         - remove boolean_t typedef completely
      
         - fix stack switch in __xfs_bmapi_allocate by moving the check for
           stack switch up into xfs_bmapi_write.
      
         - fix build error due to incomplete boolean_t removal
      
         - fix oops in _xfs_buf_find by validating that the requested block is
           within the filesystem bounds.
      
         - limit speculative preallocation near ENOSPC.
      
         - fix an unmount hang in xfs_wait_buftarg by freeing the
           xfs_buf_log_item in xfs_buf_item_unlock.
      
         - fix a possible use after free with AIO.
      
         - fix xfs_swap_extents after removal of xfs_flushinval_pages, a
           regression introduced in fb595814.
      
         - replace hardcoded 128 with log header size
      
         - add memory barrier before wake_up_bit in xfs_ifunlock
      
         - limit speculative preallocation on sparse files
      
         - fix xa_lock recursion bug introduced in 90810b9e
      
         - fix write verifier for symlinks"
      
      Fixed up conflicts in fs/xfs/xfs_buf_item.c (due to bli_format rename in
      commit 0f22f9d0 affecting the removed XFS_TRANS_DEBUG routines in
      commit ec47eb6b).
      
      * tag 'for-linus-v3.9-rc1' of git://oss.sgi.com/xfs/xfs: (36 commits)
        xfs: xfs_bmap_add_attrfork_local is too generic
        xfs: remove log force from xfs_buf_trylock()
        xfs: recheck buffer pinned status after push trylock failure
        xfs: limit speculative prealloc size on sparse files
        xfs: memory barrier before wake_up_bit()
        xfs: refactor space log reservation for XFS_TRANS_ATTR_SET
        xfs: make use of XFS_SB_LOG_RES() at xfs_fs_log_dummy()
        xfs: make use of XFS_SB_LOG_RES() at xfs_mount_log_sb()
        xfs: make use of XFS_SB_LOG_RES() at xfs_log_sbcount()
        xfs: introduce XFS_SB_LOG_RES() for transactions that modify sb on disk
        xfs: calculate XFS_TRANS_QM_QUOTAOFF_END space log reservation at mount time
        xfs: calculate XFS_TRANS_QM_QUOTAOFF space log reservation at mount time
        xfs: calculate XFS_TRANS_QM_DQALLOC space log reservation at mount time
        xfs: calcuate XFS_TRANS_QM_SETQLIM space log reservation at mount time
        xfs: calculate xfs_qm_write_sb_changes() space log reservation at mount time
        xfs: calculate XFS_TRANS_QM_SBCHANGE space log reservation at mount time
        xfs: make use of xfs_calc_buf_res() in xfs_trans.c
        xfs: add a helper to figure out the space log reservation per item
        xfs: Fix xfs_swap_extents() after removal of xfs_flushinval_pages()
        xfs: Fix possible use-after-free with AIO
        ...
      736a4c11
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · c4bc705e
      Linus Torvalds 提交于
      Pull fuse updates from Miklos Szeredi:
       "The biggest part of this pull request is a patch series from Maxim
        Patlasov to optimize scatter-gather direct IO.  There's also the
        addition of a "readdirplus" API, poll events and various fixes and
        cleanups.
      
        There's a one line change outside of fuse to mm/filemap.c which makes
        the argument of iov_iter_single_seg_count() const, required by Maxim's
        patches."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (22 commits)
        fuse: allow control of adaptive readdirplus use
        Synchronize fuse header with one used in library
        fuse: send poll events
        fuse: don't WARN when nlink is zero
        fuse: avoid out-of-scope stack access
        fuse: bump version for READDIRPLUS
        FUSE: Adapt readdirplus to application usage patterns
        Do not use RCU for current process credentials
        fuse: cleanup fuse_direct_io()
        fuse: optimize __fuse_direct_io()
        fuse: optimize fuse_get_user_pages()
        fuse: pass iov[] to fuse_get_user_pages()
        mm: minor cleanup of iov_iter_single_seg_count()
        fuse: use req->page_descs[] for argpages cases
        fuse: add per-page descriptor <offset, length> to fuse_req
        fuse: rework fuse_do_ioctl()
        fuse: rework fuse_perform_write()
        fuse: rework fuse_readpages()
        fuse: rework fuse_retrieve()
        fuse: categorize fuse_get_req()
        ...
      c4bc705e
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs · 2608e3d0
      Linus Torvalds 提交于
      Pull v9fs updates from Eric Van Hensbergen:
       "Just fixes and simplifications"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        fs/9p: Fix atomic_open
        fs/9p: Don't use O_TRUNC flag in TOPEN and TLOPEN request
        locking in fs/9p ->readdir()
      2608e3d0
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 33673dcb
      Linus Torvalds 提交于
      Pull security subsystem updates from James Morris:
       "This is basically a maintenance update for the TPM driver and EVM/IMA"
      
      Fix up conflicts in lib/digsig.c and security/integrity/ima/ima_main.c
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (45 commits)
        tpm/ibmvtpm: build only when IBM pseries is configured
        ima: digital signature verification using asymmetric keys
        ima: rename hash calculation functions
        ima: use new crypto_shash API instead of old crypto_hash
        ima: add policy support for file system uuid
        evm: add file system uuid to EVM hmac
        tpm_tis: check pnp_acpi_device return code
        char/tpm/tpm_i2c_stm_st33: drop temporary variable for return value
        char/tpm/tpm_i2c_stm_st33: remove dead assignment in tpm_st33_i2c_probe
        char/tpm/tpm_i2c_stm_st33: Remove __devexit attribute
        char/tpm/tpm_i2c_stm_st33: Don't use memcpy for one byte assignment
        tpm_i2c_stm_st33: removed unused variables/code
        TPM: Wait for TPM_ACCESS tpmRegValidSts to go high at startup
        tpm: Fix cancellation of TPM commands (interrupt mode)
        tpm: Fix cancellation of TPM commands (polling mode)
        tpm: Store TPM vendor ID
        TPM: Work around buggy TPMs that block during continue self test
        tpm_i2c_stm_st33: fix oops when i2c client is unavailable
        char/tpm: Use struct dev_pm_ops for power management
        TPM: STMicroelectronics ST33 I2C BUILD STUFF
        ...
      33673dcb
  2. 21 2月, 2013 10 次提交
    • D
      KEYS: Revert one application of "Fix unreachable code" patch · fe9453a1
      David Howells 提交于
      A patch to fix some unreachable code in search_my_process_keyrings() got
      applied twice by two different routes upstream as commits e67eab39
      and b010520a (both "fix unreachable code").
      
      Unfortunately, the second application removed something it shouldn't
      have and this wasn't detected by GIT.  This is due to the patch not
      having sufficient lines of context to distinguish the two places of
      application.
      
      The effect of this is relatively minor: inside the kernel, the keyring
      search routines may search multiple keyrings and then prioritise the
      errors if no keys or negative keys are found in any of them.  With the
      extra deletion, the presence of a negative key in the thread keyring
      (causing ENOKEY) is incorrectly overridden by an error searching the
      process keyring.
      
      So revert the second application of the patch.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fe9453a1
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · a0b1c429
      Linus Torvalds 提交于
      Pull networking update from David Miller:
      
       1) Checkpoint/restarted TCP sockets now can properly propagate the TCP
          timestamp offset.  From Andrey Vagin.
      
       2) VMWARE VM VSOCK layer, from Andy King.
      
       3) Much improved support for virtual functions and SR-IOV in bnx2x,
          from Ariel ELior.
      
       4) All protocols on ipv4 and ipv6 are now network namespace aware, and
          all the compatability checks for initial-namespace-only protocols is
          removed.  Thanks to Tom Parkin for helping deal with the last major
          holdout, L2TP.
      
       5) IPV6 support in netpoll and network namespace support in pktgen,
          from Cong Wang.
      
       6) Multiple Registration Protocol (MRP) and Multiple VLAN Registration
          Protocol (MVRP) support, from David Ward.
      
       7) Compute packet lengths more accurately in the packet scheduler, from
          Eric Dumazet.
      
       8) Use per-task page fragment allocator in skb_append_datato_frags(),
          also from Eric Dumazet.
      
       9) Add support for connection tracking labels in netfilter, from
          Florian Westphal.
      
      10) Fix default multicast group joining on ipv6, and add anti-spoofing
          checks to 6to4 and 6rd.  From Hannes Frederic Sowa.
      
      11) Make ipv4/ipv6 fragmentation memory limits more reasonable in modern
          times, rearrange inet frag datastructures for better cacheline
          locality, and move more operations outside of locking.  From Jesper
          Dangaard Brouer.
      
      12) Instead of strict master <--> slave relationships, allow arbitrary
          scenerios with "upper device lists".  From Jiri Pirko.
      
      13) Improve rate limiting accuracy in TBF and act_police, also from Jiri
          Pirko.
      
      14) Add a BPF filter netfilter match target, from Willem de Bruijn.
      
      15) Orphan and delete a bunch of pre-historic networking drivers from
          Paul Gortmaker.
      
      16) Add TSO support for GRE tunnels, from Pravin B SHelar.  Although
          this still needs some minor bug fixing before it's %100 correct in
          all cases.
      
      17) Handle unresolved IPSEC states like ARP, with a resolution packet
          queue.  From Steffen Klassert.
      
      18) Remove TCP Appropriate Byte Count support (ABC), from Stephen
          Hemminger.  This was long overdue.
      
      19) Support SO_REUSEPORT, from Tom Herbert.
      
      20) Allow locking a socket BPF filter, so that it cannot change after a
          process drops capabilities.
      
      21) Add VLAN filtering to bridge, from Vlad Yasevich.
      
      22) Bring ipv6 on-par with ipv4 and do not cache neighbour entries in
          the ipv6 routes, from YOSHIFUJI Hideaki.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1538 commits)
        ipv6: fix race condition regarding dst->expires and dst->from.
        net: fix a wrong assignment in skb_split()
        ip_gre: remove an extra dst_release()
        ppp: set qdisc_tx_busylock to avoid LOCKDEP splat
        atl1c: restore buffer state
        net: fix a build failure when !CONFIG_PROC_FS
        net: ipv4: fix waring -Wunused-variable
        net: proc: fix build failed when procfs is not configured
        Revert "xen: netback: remove redundant xenvif_put"
        net: move procfs code to net/core/net-procfs.c
        qmi_wwan, cdc-ether: add ADU960S
        bonding: set sysfs device_type to 'bond'
        bonding: fix bond_release_all inconsistencies
        b44: use netdev_alloc_skb_ip_align()
        xen: netback: remove redundant xenvif_put
        net: fec: Do a sanity check on the gpio number
        ip_gre: propogate target device GSO capability to the tunnel device
        ip_gre: allow CSUM capable devices to handle packets
        bonding: Fix initialize after use for 3ad machine state spinlock
        bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate()
        ...
      a0b1c429
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 8ec49422
      Linus Torvalds 提交于
      Pull sparc updates from David Miller:
       "Mostly more sparc64 THP bug fixes, and a refactoring of SMP bootup on
        sparc32 from Sam Ravnborg."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc32: refactor smp boot
        sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler.
        sparc64: Fix tsb_grow() in atomic context.
        sparc64: Handle hugepage TSB being NULL.
        sparc64: Fix gfp_flags setting in tsb_grow().
      8ec49422
    • L
      Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 · 79a69d34
      Linus Torvalds 提交于
      Pull arm64 patches from Catalin Marinas:
      
       - SMP support for the PSCI booting protocol (power state coordination
         interface).
      
       - Simple earlyprintk support.
      
       - Platform devices populated by default from the DT (SoC-agnostic).
      
       - CONTEXTIDR support (used by external trace tools).
      
      * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
        arm64: mm: update CONTEXTIDR register to contain PID of current process
        arm64: atomics: fix grossly inconsistent asm constraints for exclusives
        arm64: compat: use compat_uptr_t type for compat_ucontext.uc_link
        arm64: Select ARCH_WANT_FRAME_POINTERS
        arm64: Add kvm_para.h and xor.h generic headers
        arm64: SMP: enable PSCI boot method
        arm64: psci: add support for PSCI invocations from the kernel
        arm64: SMP: rework the SMP code to be enabling method agnostic
        arm64: perf: add guest vs host discrimination
        arm64: add COMPAT_PSR_*_BIT flags
        arm64: Add simple earlyprintk support
        arm64: Populate the platform devices
      79a69d34
    • L
      Merge branch 'for-linus-2' of git://git.linaro.org/people/rmk/linux-arm · 6db167df
      Linus Torvalds 提交于
      Pull ARM updates (part two) from Russell King:
      
       - breakpoint and perf updates from Will Deacon.
      
       - hypervisor boot mode updates from Will.
      
       - support for Power State Coordination Interface via the Hypervisor
      
       - core ARM support for KVM
      
      * 'for-linus-2' of git://git.linaro.org/people/rmk/linux-arm: (32 commits)
        KVM: ARM: Add maintainer entry for KVM/ARM
        KVM: ARM: Power State Coordination Interface implementation
        KVM: ARM: Handle I/O aborts
        KVM: ARM: Handle guest faults in KVM
        KVM: ARM: VFP userspace interface
        KVM: ARM: Demux CCSIDR in the userspace API
        KVM: ARM: User space API for getting/setting co-proc registers
        KVM: ARM: Emulation framework and CP15 emulation
        KVM: ARM: World-switch implementation
        KVM: ARM: Inject IRQs and FIQs from userspace
        KVM: ARM: Memory virtualization setup
        KVM: ARM: Hypervisor initialization
        KVM: ARM: Initial skeleton to compile KVM support
        ARM: Section based HYP idmap
        ARM: Add page table and page defines needed by KVM
        ARM: perf: simplify __hw_perf_event_init err handling
        ARM: perf: remove unnecessary checks for idx < 0
        ARM: perf: handle armpmu_register failing
        ARM: perf: don't pretend to support counting of L1I writes
        ARM: perf: remove redundant NULL check on cpu_pmu
        ...
      6db167df
    • L
      Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm · 32f9aab8
      Linus Torvalds 提交于
      Pull ARM updates (part one) from Russell King:
      
       - MMC patches from Ulf Hansson and Pawel Moll.  These add support for
         DDR mode and the latest variant found on ARM Versatile Express, as
         well as a number of cleanups.
      
       - A fix for to improve the behaviour of ARMs sched_clock()
      
       - Changes to the ARM ioremap() code.  I'm not convinced with the
         primary arguments for this, but it's been around for a while, and
         people seem happy with it - and the "other" justification for this is
         at
      
            http://lkml.org/lkml/2012/12/6/184
      
       - Add SCHED_HRTICK to ARMs Kconfig
      
       - Making the ARM SHA/AES code Thumb-2 compatible
      
       - A collection of other small updates.
      
      * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (26 commits)
        ARM: add SCHED_HRTICK config option
        ARM: 7650/1: mm: replace direct access to mm->context.id with new macro
        ARM: 7649/1: mm: mm->context.id fix for big-endian
        ARM: 7648/1: pci: Allow passing per-controller private data
        ARM: 7647/1: pci: Keep pci_common_init() around after init
        ARM: fix warnings introduced by previous patch
        ARM: 7646/1: mm: use static_vm for managing static mapped areas
        ARM: 7645/1: ioremap: introduce an infrastructure for static mapped area
        ARM: 7644/1: vmregion: remove vmregion code entirely
        MAINTAINERS: Re-assert MMCI driver maintainer status
        MAINTAINERS: add additional file for MMCI driver
        MAINTAINERS: add maintainer entry for AMBA serial drivers
        ARM: 7637/1: memory: use SZ_ constants for defining the virtual memory layout
        ARM: 7643/1: sched: correct update_sched_clock()
        ARM: 7635/1: versatile: fix the PCI IRQ regression
        ARM: 7639/1: cache-l2x0: add missed dummy outer_resume entry
        ARM: 7630/1: mmc: mmci: Fixup and cleanup code for DMA handling
        ARM: 7632/1: spinlock: avoid exclusive accesses on unlock() path
        ARM: 7631/1: mmc: mmci: Add new VE MMCI variant
        ARM: 7623/1: mmc: mmci: Fixup clock gating when freq is 0 for ST-variants
        ...
      32f9aab8
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · e177bb58
      Linus Torvalds 提交于
      Pull m68k update from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Sort out !CONFIG_MMU_SUN3 vs. CONFIG_HAS_DMA
        swim: Add missing spinlock init
      e177bb58
    • S
      sparc32: refactor smp boot · f9fd3488
      Sam Ravnborg 提交于
      Introduce a common smp_callin() function to call
      from trampoline_32.S.
      Add platform specific functions to handle the
      platform details.
      
      This is in preparation for a patch that will
      unify the smp boot stuff for all architectures.
      sparc32 was significantly different to warrant
      this patch in preparation.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
      Acked-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f9fd3488
    • D
      sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler. · 76968ad2
      David S. Miller 提交于
      When we set the sun4u version of the PTE execute bit, it's:
      
      	or	REG, _PAGE_EXEC_4U, REG
      
      _PAGE_EXEC_4U is 0x1000, unfortunately the immedate field of the
      'or' instruction is a signed 13-bit value.  So the above actually
      assembles into:
      
      	or	REG, -4096, REG
      
      completely corrupting the final PTE value.
      
      Set it with a:
      
      	sethi	%hi(_PAGE_EXEC_4U), TMP
      	or	REG, TMP, REG
      
      sequence instead.
      
      This fixes "git gc" crashes on sun4u machines.
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      76968ad2
    • Y
      ipv6: fix race condition regarding dst->expires and dst->from. · ecd98837
      YOSHIFUJI Hideaki / 吉藤英明 提交于
      Eric Dumazet wrote:
      | Some strange crashes happen in rt6_check_expired(), with access
      | to random addresses.
      |
      | At first glance, it looks like the RTF_EXPIRES and
      | stuff added in commit 1716a961
      | (ipv6: fix problem with expired dst cache)
      | are racy : same dst could be manipulated at the same time
      | on different cpus.
      |
      | At some point, our stack believes rt->dst.from contains a dst pointer,
      | while its really a jiffie value (as rt->dst.expires shares the same area
      | of memory)
      |
      | rt6_update_expires() should be fixed, or am I missing something ?
      |
      | CC Neil because of https://bugzilla.redhat.com/show_bug.cgi?id=892060
      
      Because we do not have any locks for dst_entry, we cannot change
      essential structure in the entry; e.g., we cannot change reference
      to other entity.
      
      To fix this issue, split 'from' and 'expires' field in dst_entry
      out of union.  Once it is 'from' is assigned in the constructor,
      keep the reference until the very last stage of the life time of
      the object.
      
      Of course, it is unsafe to change 'from', so make rt6_set_from simple
      just for fresh entries.
      Reported-by: NEric Dumazet <eric.dumazet@gmail.com>
      Reported-by: NNeil Horman <nhorman@tuxdriver.com>
      CC: Gao Feng <gaofeng@cn.fujitsu.com>
      Signed-off-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Reviewed-by: NEric Dumazet <edumazet@google.com>
      Reported-by: NSteinar H. Gunderson <sesse@google.com>
      Reviewed-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ecd98837