1. 11 Jun, 2014 1 commit
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · c5aec4c7
      Linus Torvalds authored
      Pull powerpc updates from Ben Herrenschmidt:
       "Here is the bulk of the powerpc changes for this merge window.  It got
        a bit delayed in part because I wasn't paying attention, and in part
        because I discovered I had a core PCI change without a PCI maintainer
        ack in it.  Bjorn eventually agreed it was ok to merge it though we'll
        probably improve it later and I didn't want to rebase to add his ack.
      
        There is going to be a bit more next week, essentially fixes that I
        still want to sort through and test.
      
        The biggest item this time is the support to build the ppc64 LE kernel
        with our new v2 ABI.  We previously supported v2 userspace but the
        kernel itself was a tougher nut to crack.  This is now sorted mostly
        thanks to Anton and Rusty.
      
        We also have a fairly big series from Cedric that add support for
        64-bit LE zImage boot wrapper.  This was made harder by the fact that
        traditionally our zImage wrapper was always 32-bit, but our new LE
        toolchains don't really support 32-bit anymore (it's somewhat there
        but not really "supported") so we didn't want to rely on it.  This
        meant more churn that just endian fixes.
      
        This brings some more LE bits as well, such as the ability to run in
        LE mode without a hypervisor (ie. under OPAL firmware) by doing the
        right OPAL call to reinitialize the CPU to take HV interrupts in the
        right mode and the usual pile of endian fixes.
      
        There's another series from Gavin adding EEH improvements (one day we
        *will* have a release with less than 20 EEH patches, I promise!).
      
        Another highlight is the support for the "Split core" functionality on
        P8 by Michael.  This allows a P8 core to be split into "sub cores" of
        4 threads which allows the subcores to run different guests under KVM
        (the HW still doesn't support a partition per thread).
      
        And then the usual misc bits and fixes ..."
      
      [ Further delayed by gmail deciding that BenH is a dirty spammer.
        Google knows.  ]
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (155 commits)
        powerpc/powernv: Add missing include to LPC code
        selftests/powerpc: Test the THP bug we fixed in the previous commit
        powerpc/mm: Check paca psize is up to date for huge mappings
        powerpc/powernv: Pass buffer size to OPAL validate flash call
        powerpc/pseries: hcall functions are exported to modules, need _GLOBAL_TOC()
        powerpc: Exported functions __clear_user and copy_page use r2 so need _GLOBAL_TOC()
        powerpc/powernv: Set memory_block_size_bytes to 256MB
        powerpc: Allow ppc_md platform hook to override memory_block_size_bytes
        powerpc/powernv: Fix endian issues in memory error handling code
        powerpc/eeh: Skip eeh sysfs when eeh is disabled
        powerpc: 64bit sendfile is capped at 2GB
        powerpc/powernv: Provide debugfs access to the LPC bus via OPAL
        powerpc/serial: Use saner flags when creating legacy ports
        powerpc: Add cpu family documentation
        powerpc/xmon: Fix up xmon format strings
        powerpc/powernv: Add calls to support little endian host
        powerpc: Document sysfs DSCR interface
        powerpc: Fix regression of per-CPU DSCR setting
        powerpc: Split __SYSFS_SPRSETUP macro
        arch: powerpc/fadump: Cleaning up inconsistent NULL checks
        ...
      c5aec4c7
  2. 10 Jun, 2014 39 commits
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · 2937f5ef
      Linus Torvalds authored
      Pull x86 platform driver updates from Matthew Garrett:
       "Very little of excitement here - the most significant is a new driver
        for detecting device freefall on Dells, other than that it's pretty
        much entirely minor fixes for specific machines"
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86:
        hp-wmi: Enable hotkeys on some systems
        thinkpad_acpi: Add mappings for F9 - F12 hotkeys on X240 / T440 / T540
        platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810)
        ideapad_laptop: Introduce the use of the managed version of kzalloc
        platform/x86: Fix run-time dependencies of OLPC drivers
        platform: x86: asus-wmi.c: Cleaning up uninitialized variables
        ix86/mid/thermal: Introduce the use of the managed version of kzalloc
        platform x86 Kconfig: Refer to the laptop list in the Compal driver help
        Documentation: Add list of laptop models supported by the Compal driver
        ideapad-laptop: Blacklist rfkill control on the Lenovo Yoga 2 11
        asus-wmi: Set WAPF to 4 for Asus X550CA
        alienware-wmi: For WMAX HDMI method, introduce a way to query HDMI cable status
        alienware-wmi: Update WMAX brightness method limit to 15
        pvpanic: Set high notifier priority
        platform/x86: samsung-laptop: Add support for Samsung's NP7[34]0U3E models.
        toshiba_acpi: Add alternative keymap support for Satellite M840
        platform-drivers-x86: intel_pmic_gpio: Fix off-by-one valid offset range check
      2937f5ef
    • Kyle Evans's avatar
      hp-wmi: Enable hotkeys on some systems · f82bdd0d
      Kyle Evans authored
      This is a third attempt to enable these buttons. The new variable being
      commit 997daa1b (i.e. hp-wmi: detect
      "2009 BIOS or later"). Older systems that do not have the 2009 BIOS query
      method respond with a dummy value, in this case 4. Using that, we can
      target a fairly narrow group of systems. i.e. old enough to not have
      HPWMI_FEATURE_QUERY 0xd, but new enough to have HPWMI_BIOS_QUERY 0x9.
      This group may be further limited if some systems respond with something
      other than 4 to non-existant feature queries.
      Signed-off-by: default avatarKyle Evans <kvans32@gmail.com>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      f82bdd0d
    • Hans de Goede's avatar
      thinkpad_acpi: Add mappings for F9 - F12 hotkeys on X240 / T440 / T540 · 8b9dd4fa
      Hans de Goede authored
      The T440s user guide says that when Fn-lock is not active, the *40s' F9 - F12
      keys should be mapped to: control-panel, search, show-all-windows and Computer.
      
      These keys generate the sofar unused 28 - 31 hotkey scancodes.
      
      For the first 2 this nicely matches the icons on the keys, for the latter 2
      the icons are somewhat creative, which is why I ended up looking them up in
      the user manual.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      8b9dd4fa
    • Pali Rohár's avatar
      platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810) · 4738d8aa
      Pali Rohár authored
      This acpi driver provide supports for freefall sensors SMO8800/SMO8810 which
      can be found on Dell Latitude laptops. Driver register /dev/freefall misc
      device which has same interface as driver hp_accel freefall driver. So any
      existing applications for HP freefall sensor /dev/freefall will work for with
      this new driver for Dell Latitude laptops too.
      Signed-off-by: default avatarPali Rohár <pali.rohar@gmail.com>
      Cc: Sonal Santan <sonal.santan@gmail.com>
      Tested-By: default avatarValdis Kletnieks <valdis.kletnieks@vt.edu>
      Acked-By: default avatarValdis Kletnieks <valdis.kletnieks@vt.edu>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      4738d8aa
    • Himangi Saraogi's avatar
      ideapad_laptop: Introduce the use of the managed version of kzalloc · b3facd7b
      Himangi Saraogi authored
      This patch moves data allocated using kzalloc to managed data allocated
      using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
      functions. The label sysfs_failed is removed as it is no longer
      required.  Also, linux/device.h is added to make sure the devm_*()
      routine declarations are unambiguously available.
      
      The following Coccinelle semantic patch was used for making the change:
      
      @platform@
      identifier p, probefn, removefn;
      @@
      struct platform_driver p = {
        .probe = probefn,
        .remove = removefn,
      };
      
      @prb@
      identifier platform.probefn, pdev;
      expression e, e1, e2;
      @@
      probefn(struct platform_device *pdev, ...) {
        <+...
      - e = kzalloc(e1, e2)
      + e = devm_kzalloc(&pdev->dev, e1, e2)
        ...
      ?-kfree(e);
        ...+>
      }
      
      @rem depends on prb@
      identifier platform.removefn;
      expression e;
      @@
      removefn(...) {
        <...
      - kfree(e);
        ...>
      }
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      b3facd7b
    • Jean Delvare's avatar
      platform/x86: Fix run-time dependencies of OLPC drivers · b02fdfcc
      Jean Delvare authored
      Let the xo15-ebook driver depend on OLPC as all other OLPC drivers
      already do. Add COMPILE_TEST as an alternative for both xo1-rfkill
      and xo15-ebook, to increase the build testing coverage.
      Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
      Cc: Matthew Garrett <matthew.garrett@nebula.com>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      b02fdfcc
    • Rickard Strandqvist's avatar
      platform: x86: asus-wmi.c: Cleaning up uninitialized variables · 8ad3be1e
      Rickard Strandqvist authored
      There is a risk that the variable will be used without being initialized.
      
      This was largely found by using a static code analysis program called cppcheck.
      Signed-off-by: default avatarRickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      8ad3be1e
    • Himangi Saraogi's avatar
      ix86/mid/thermal: Introduce the use of the managed version of kzalloc · 14627e36
      Himangi Saraogi authored
      This patch moves data allocated using kzalloc to managed data allocated
      using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
      functions.
      
      The following Coccinelle semantic patch was used for making the change:
      
      @platform@
      identifier p, probefn, removefn;
      @@
      struct platform_driver p = {
        .probe = probefn,
        .remove = removefn,
      };
      
      @prb@
      identifier platform.probefn, pdev;
      expression e, e1, e2;
      @@
      probefn(struct platform_device *pdev, ...) {
        <+...
      - e = kzalloc(e1, e2)
      + e = devm_kzalloc(&pdev->dev, e1, e2)
        ...
      ?-kfree(e);
        ...+>
      }
      
      @rem depends on prb@
      identifier platform.removefn;
      expression e;
      @@
      removefn(...) {
        <...
      - kfree(e);
        ...>
      }
      Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      14627e36
    • Ismael Luceno's avatar
    • Ismael Luceno's avatar
    • Hans de Goede's avatar
      ideapad-laptop: Blacklist rfkill control on the Lenovo Yoga 2 11 · 85093f79
      Hans de Goede authored
      The Lenovo Yoga 2 11 always reports everything as blocked, causing userspace
      to not even try to use the wlan / bluetooth even though they work fine.
      
      Note this patch also removes the "else priv->rfk[i] = NULL;" bit of the
      rfkill initialization, it is not necessary as the priv struct is allocated
      with kzalloc.
      Reported-and-tested-by: default avatarVincent Gerris <vgerris@gmail.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      85093f79
    • Andreas Utterberg's avatar
      asus-wmi: Set WAPF to 4 for Asus X550CA · c08db55f
      Andreas Utterberg authored
      The 'asus-nb-wmi' WAPF parameter must be set to 4, so the internal Wireless LAN device is operational.
      Signed-off-by: default avatarAndreas Utterberg <andreas.utterberg@thundera.se>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      c08db55f
    • Mario Limonciello's avatar
      alienware-wmi: For WMAX HDMI method, introduce a way to query HDMI cable status · bc2ef884
      Mario Limonciello authored
      Since there are now multiple HDMI attributes associated with the WMAX method,
      create a sysfs group for them instead.
      Signed-off-by: default avatarMario Limonciello <mario_limonciello@dell.com>
      Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
      bc2ef884
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew Morton) · 9ee4d7a6
      Linus Torvalds authored
      Merge leftovers from Andrew Morton:
       "A few leftovers: ocfs2, gcov, RTC"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        rtc: s5m: consolidate two device type switch statements
        rtc: s5m: add support for S2MPS14 RTC
        rtc: s5m: support different register layout
        rtc: s5m: use shorter time of register update
        rtc: s5m: remove undocumented time init on first boot
        mfd/rtc: sec/s5m: rename SEC* symbols to S5M
        gcov: add support for GCC 4.9
        ocfs2/o2net: incorrect to terminate accepting connections loop upon rejecting an invalid one
      9ee4d7a6
    • Krzysztof Kozlowski's avatar
      rtc: s5m: consolidate two device type switch statements · a0347f20
      Krzysztof Kozlowski authored
      In probe the configuration of driver for different chipsets was done in
      two switch (pdata->device_type) statements.  Consolidate them into one
      switch statement to increase code readability.
      
      Additionally check the return value of regmap_irq_get_virq and exit
      probe on error.
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a0347f20
    • Krzysztof Kozlowski's avatar
      rtc: s5m: add support for S2MPS14 RTC · 0c5deb1e
      Krzysztof Kozlowski authored
      Add support for S2MPS14 to the rtc-s5m driver.  Differences in S2MPS14
      (in comparison to S5M8767):
      
       - Layout of registers
       - Lack of century support for time and alarms (7 registers used for
         storing time/alarm)
       - Two buffer control registers: WUDR and RUDR
       - No register for enabling writing time
       - RTC interrupts are reported in main PMIC I2C device
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0c5deb1e
    • Krzysztof Kozlowski's avatar
      rtc: s5m: support different register layout · f8b23bbd
      Krzysztof Kozlowski authored
      Prepare for adding support for S2MPS14 RTC device to the rtc-s5m driver:
      
      1. Add a map of registers used by the driver which differ between
         the chipsets (S5M876X and S2MPS14).
      
      2. Move code of checking for alarm pending to separate function.
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f8b23bbd
    • Krzysztof Kozlowski's avatar
      rtc: s5m: use shorter time of register update · 0c5f5d9a
      Krzysztof Kozlowski authored
      Set the time needed for updating alarm and time registers to 0.45 ms.
      The default is 7.32 ms which is too long and leads to warnings when
      setting alarm or time:
      
      	s5m-rtc: waiting for UDR update, reached max number of retries
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0c5f5d9a
    • Krzysztof Kozlowski's avatar
      rtc: s5m: remove undocumented time init on first boot · fe787a5b
      Krzysztof Kozlowski authored
      Remove the code for initializing time if this is first boot.
      
      The code for detecting first boot uses undocumented field RTC_TCON in
      RTC_UDR_CON register.  According to S5M8767's datasheet this field is
      reserved.  On S2MPS14 it is not documented at all.
      
      On device first boot the registers will be initialized with reset value
      (2000-01-01 00:00:00).
      
      The code might work on S5M8763 but still this does not look like a task
      for RTC driver.
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fe787a5b
    • Krzysztof Kozlowski's avatar
      mfd/rtc: sec/s5m: rename SEC* symbols to S5M · 602cb5bb
      Krzysztof Kozlowski authored
      Prepare for adding support for S2MPS14 RTC device to the rtc-s5m driver:
      
      1. Rename SEC* symbols to S5M.
      2. Add S5M prefix to some of defines which are different between S5M876X
         and S2MPS14.
      
      This is only a rename-like patch, new code is not added.
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Acked-by: default avatarLee Jones <lee.jones@linaro.org>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      602cb5bb
    • Yuan Pengfei's avatar
      gcov: add support for GCC 4.9 · a992bf83
      Yuan Pengfei authored
      This patch handles the gcov-related changes in GCC 4.9:
      
        A new counter (time profile) is added. The total number is 9 now.
      
        A new profile merge function __gcov_merge_time_profile is added.
      
      See gcc/gcov-io.h and libgcc/libgcov-merge.c
      
      For the first change, the layout of struct gcov_info is affected.
      
      For the second one, a dummy function is added to kernel/gcov/base.c
      similarly.
      Signed-off-by: default avatarYuan Pengfei <coolypf@qq.com>
      Acked-by: default avatarPeter Oberparleiter <oberpar@linux.vnet.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a992bf83
    • Tariq Saeed's avatar
      ocfs2/o2net: incorrect to terminate accepting connections loop upon rejecting an invalid one · 79deb3c1
      Tariq Saeed authored
      When o2net-accept-one() rejects an illegal connection, it terminates the
      loop picking up the remaining queued connections.  This fix will
      continue accepting connections till the queue is emtpy.
      
      Addresses Orabug 17489469.
      Signed-off-by: default avatarTariq Saseed <tariq.x.saeed@oracle.com>
      Signed-off-by: default avatarSrinivas Eeda <srinivas.eeda@oracle.com>
      Reviewed-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      79deb3c1
    • Sasha Levin's avatar
      decode_stacktrace: make stack dump output useful again · dbd1abb2
      Sasha Levin authored
      Right now when people try to report issues in the kernel they send stack
      dumps to eachother, which looks something like this:
      
        [    6.906437]  [<ffffffff811f0e90>] ? backtrace_test_irq_callback+0x20/0x20
        [    6.907121]  [<ffffffff84388ce8>] dump_stack+0x52/0x7f
        [    6.907640]  [<ffffffff811f0ec8>] backtrace_regression_test+0x38/0x110
        [    6.908281]  [<ffffffff813596a0>] ? proc_create_data+0xa0/0xd0
        [    6.908870]  [<ffffffff870a8040>] ? proc_modules_init+0x22/0x22
        [    6.909480]  [<ffffffff810020c2>] do_one_initcall+0xc2/0x1e0
        [...]
      
      However, most of the text you get is pure garbage.
      
      The only useful thing above is the function name.  Due to the amount of
      different kernel code versions and various configurations being used,
      the kernel address and the offset into the function are not really
      helpful in determining where the problem actually occured.
      
      Too often the result of someone looking at a stack dump is asking the
      person who sent it for a translation for one or more 'addr2line'
      translations.  Which slows down the entire process of debugging the
      issue (and really annoying).
      
      The decode_stacktrace script is an attempt to make the output more
      useful and easy to work with by translating all kernel addresses in the
      stack dump into line numbers.  Which means that the stack dump would
      look like this:
      
        [  635.148361]  dump_stack (lib/dump_stack.c:52)
        [  635.149127]  warn_slowpath_common (kernel/panic.c:418)
        [  635.150214]  warn_slowpath_null (kernel/panic.c:453)
        [  635.151031]  _oalloc_pages_slowpath+0x6a/0x7d0
        [  635.152171]  ? zone_watermark_ok (mm/page_alloc.c:1728)
        [  635.152988]  ? get_page_from_freelist (mm/page_alloc.c:1939)
        [  635.154766]  __alloc_pages_nodemask (mm/page_alloc.c:2766)
      
      It's pretty obvious why this is better than the previous stack dump
      before.
      
      Usage is pretty simple:
      
              ./decode_stacktrace.sh [vmlinux] [base path]
      
      Where vmlinux is the vmlinux to extract line numbers from and base path
      is the path that points to the root of the build tree, for example:
      
              ./decode_stacktrace.sh vmlinux /home/sasha/linux/ < input.log > output.log
      
      The stack trace should be piped through it (I, for example, just pipe
      the output of the serial console of my KVM test box through it).
      Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dbd1abb2
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · d1e1cda8
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
         - massive cleanup of the NFS read/write code by Anna and Dros
         - support multiple NFS read/write requests per page in order to deal
           with non-page aligned pNFS striping.  Also cleans up the r/wsize <
           page size code nicely.
         - stable fix for ensuring inode is declared uptodate only after all
           the attributes have been checked.
         - stable fix for a kernel Oops when remounting
         - NFS over RDMA client fixes
         - move the pNFS files layout driver into its own subdirectory"
      
      * tag 'nfs-for-3.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (79 commits)
        NFS: populate ->net in mount data when remounting
        pnfs: fix lockup caused by pnfs_generic_pg_test
        NFSv4.1: Fix typo in dprintk
        NFSv4.1: Comment is now wrong and redundant to code
        NFS: Use raw_write_seqcount_begin/end int nfs4_reclaim_open_state
        xprtrdma: Disconnect on registration failure
        xprtrdma: Remove BUG_ON() call sites
        xprtrdma: Avoid deadlock when credit window is reset
        SUNRPC: Move congestion window constants to header file
        xprtrdma: Reset connection timeout after successful reconnect
        xprtrdma: Use macros for reconnection timeout constants
        xprtrdma: Allocate missing pagelist
        xprtrdma: Remove Tavor MTU setting
        xprtrdma: Ensure ia->ri_id->qp is not NULL when reconnecting
        xprtrdma: Reduce the number of hardway buffer allocations
        xprtrdma: Limit work done by completion handler
        xprtrmda: Reduce calls to ib_poll_cq() in completion handlers
        xprtrmda: Reduce lock contention in completion handlers
        xprtrdma: Split the completion queue
        xprtrdma: Make rpcrdma_ep_destroy() return void
        ...
      d1e1cda8
    • Linus Torvalds's avatar
      Merge tag 'mmc-updates-for-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 07888238
      Linus Torvalds authored
      Pull MMC update from Chris Ball:
       "MMC highlights for 3.16:
      
        Core:
         - support HS400 mode of eMMC 5.0, via DT bindings mmc-hs400-1_{2,8}v
         - if card init at 3.3v doesn't work, try 1.8v and 1.2v too
      
        Drivers:
         - moxart: New driver for MOXA ART SoCs
         - rtsx_usb_sdmmc: New driver for Realtek USB card readers
         - sdhci: Large rework around IRQ/regulator handling, remove card_tasklet
         - sdhci-pci-o2micro: Add SeaBird SeaEagle SD3 support
         - sunxi: New driver for Allwinner sunxi SoCs
         - usdhi6rol0: New driver for Renesas SD/SDIO controller"
      
      * tag 'mmc-updates-for-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (95 commits)
        mmc: sdhci-s3c: use mmc_of_parse and remove the card_tasklet
        mmc: add a driver for the Renesas usdhi6rol0 SD/SDIO host controller
        mmc: sdhci-of-esdhc: Fixup compile error
        mmc: tegra: fix reporting of base clock frequency
        mmc: tegra: disable UHS modes
        mmc: sdhci-dove: use mmc_of_parse() and remove card_tasklet CD handler
        MAINTAINERS: mmc: Add path to git tree
        mmc: dove: fix missing MACH_DOVE dependency
        mmc: sdhci: SD tuning is broken for some controllers
        mmc: sdhci-esdhc-imx: fix mmc ddr mode regression issue
        mmc: sdhci-pci-o2micro: Add SeaBird SeaEagle SD3 support
        mmc: omap_hsmmc: split omap-dma header file
        mmc: omap_hsmmc: fix cmd23 multiblock read/write
        mmc: omap_hsmmc: use devm_ioremap_resource
        mmc: omap_hsmmc: use devm_request_threaded_irq
        mmc: omap_hsmmc: use devm_request_irq
        mmc: omap_hsmmc: use devm_clk_get
        mmc: sunxi: Add driver for SD/MMC hosts found on Allwinner sunxi SoCs
        mmc: wmt-sdmmc: Use GFP_KERNEL instead of hard-coded value
        mmc: omap: Use DIV_ROUND_UP instead of open coded
        ...
      07888238
    • Andy Lutomirski's avatar
      fs,userns: Change inode_capable to capable_wrt_inode_uidgid · 23adbe12
      Andy Lutomirski authored
      The kernel has no concept of capabilities with respect to inodes; inodes
      exist independently of namespaces.  For example, inode_capable(inode,
      CAP_LINUX_IMMUTABLE) would be nonsense.
      
      This patch changes inode_capable to check for uid and gid mappings and
      renames it to capable_wrt_inode_uidgid, which should make it more
      obvious what it does.
      
      Fixes CVE-2014-4014.
      
      Cc: Theodore Ts'o <tytso@mit.edu>
      Cc: Serge Hallyn <serge.hallyn@ubuntu.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      23adbe12
    • Linus Torvalds's avatar
      Merge branch 'for-3.16' of git://linux-nfs.org/~bfields/linux · 5b174fd6
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "The largest piece is a long-overdue rewrite of the xdr code to remove
        some annoying limitations: for example, there was no way to return
        ACLs larger than 4K, and readdir results were returned only in 4k
        chunks, limiting performance on large directories.
      
        Also:
              - part of Neil Brown's work to make NFS work reliably over the
                loopback interface (so client and server can run on the same
                machine without deadlocks).  The rest of it is coming through
                other trees.
              - cleanup and bugfixes for some of the server RDMA code, from
                Steve Wise.
              - Various cleanup of NFSv4 state code in preparation for an
                overhaul of the locking, from Jeff, Trond, and Benny.
              - smaller bugfixes and cleanup from Christoph Hellwig and
                Kinglong Mee.
      
        Thanks to everyone!
      
        This summer looks likely to be busier than usual for knfsd.  Hopefully
        we won't break it too badly; testing definitely welcomed"
      
      * 'for-3.16' of git://linux-nfs.org/~bfields/linux: (100 commits)
        nfsd4: fix FREE_STATEID lockowner leak
        svcrdma: Fence LOCAL_INV work requests
        svcrdma: refactor marshalling logic
        nfsd: don't halt scanning the DRC LRU list when there's an RC_INPROG entry
        nfs4: remove unused CHANGE_SECURITY_LABEL
        nfsd4: kill READ64
        nfsd4: kill READ32
        nfsd4: simplify server xdr->next_page use
        nfsd4: hash deleg stateid only on successful nfs4_set_delegation
        nfsd4: rename recall_lock to state_lock
        nfsd: remove unneeded zeroing of fields in nfsd4_proc_compound
        nfsd: fix setting of NFS4_OO_CONFIRMED in nfsd4_open
        nfsd4: use recall_lock for delegation hashing
        nfsd: fix laundromat next-run-time calculation
        nfsd: make nfsd4_encode_fattr static
        SUNRPC/NFSD: Remove using of dprintk with KERN_WARNING
        nfsd: remove unused function nfsd_read_file
        nfsd: getattr for FATTR4_WORD0_FILES_AVAIL needs the statfs buffer
        NFSD: Error out when getting more than one fsloc/secinfo/uuid
        NFSD: Using type of uint32_t for ex_nflavors instead of int
        ...
      5b174fd6
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 1d21b1bf
      Linus Torvalds authored
      Pull main InfiniBand/RDMA updates from Roland Dreier:
      
       - add iWARP port mapper to avoid conflicts between RDMA and normal
         stack TCP connections.
      
       - fixes for i386 / x86-64 structure padding differences (ABI
         compatibility for 32-on-64) from Yann Droneaud.
      
       - a pile of SRP initiator fixes from Bart Van Assche.
      
       - fixes for a writeback / memory allocation deadlock with NFS over
         IPoIB connected mode from Jiri Kosina.
      
       - the usual fixes and cleanups to mlx4, mlx5, cxgb4 and other low-level
         drivers.
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (61 commits)
        RDMA/cxgb4: Add support for iWARP Port Mapper user space service
        RDMA/nes: Add support for iWARP Port Mapper user space service
        RDMA/core: Add support for iWARP Port Mapper user space service
        IB/mlx4: Fix gfp passing in create_qp_common()
        IB/umad: Fix use-after-free on close
        IB/core: Fix kobject leak on device register error flow
        RDMA/cxgb4: add missing padding at end of struct c4iw_alloc_ucontext_resp
        mlx4_core: Fix GFP flags parameters to be gfp_t
        IB/core: Fix port kobject deletion during error flow
        IB/core: Remove unneeded kobject_get/put calls
        IB/core: Fix sparse warnings about redeclared functions
        IB/mad: Fix sparse warning about gfp_t use
        IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO
        IB: Add a QP creation flag to use GFP_NOIO allocations
        IB: Return error for unsupported QP creation flags
        IB: Allow build of hw/ and ulp/ subdirectories independently
        mlx4_core: Move handling of MLX4_QP_ST_MLX to proper switch statement
        RDMA/cxgb4: Add missing padding at end of struct c4iw_create_cq_resp
        IB/srp: Avoid problems if a header uses pr_fmt
        IB/umad: Fix error handling
        ...
      1d21b1bf
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma · 77c32bbb
      Linus Torvalds authored
      Pull slave-dmaengine updates from Vinod Koul:
       - new Xilixn VDMA driver from Srikanth
       - bunch of updates for edma driver by Thomas, Joel and Peter
       - fixes and updates on dw, ste_dma, freescale, mpc512x, sudmac etc
      
      * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (45 commits)
        dmaengine: sh: don't use dynamic static allocation
        dmaengine: sh: fix print specifier warnings
        dmaengine: sh: make shdma_prep_dma_cyclic static
        dmaengine: Kconfig: Update MXS_DMA help text to include MX6Q/MX6DL
        of: dma: Grammar s/requests/request/, s/used required/required/
        dmaengine: shdma: Enable driver compilation with COMPILE_TEST
        dmaengine: rcar-hpbdma: Include linux/err.h
        dmaengine: sudmac: Include linux/err.h
        dmaengine: sudmac: Keep #include sorted alphabetically
        dmaengine: shdmac: Include linux/err.h
        dmaengine: shdmac: Keep #include sorted alphabetically
        dmaengine: s3c24xx-dma: Add cyclic transfer support
        dmaengine: s3c24xx-dma: Process whole SG chain
        dmaengine: imx: correct sdmac->status for cyclic dma tx
        dmaengine: pch: fix compilation for alpha target
        dmaengine: dw: check return code of dma_async_device_register()
        dmaengine: dw: fix regression in dw_probe() function
        dmaengine: dw: enable clock before access
        dma: pch_dma: Fix Kconfig dependencies
        dmaengine: mpc512x: add support for peripheral transfers
        ...
      77c32bbb
    • Roland Dreier's avatar
      Merge branches 'core', 'cxgb3', 'cxgb4', 'iser', 'iwpm', 'misc', 'mlx4',... · eeaddf36
      Roland Dreier authored
      Merge branches 'core', 'cxgb3', 'cxgb4', 'iser', 'iwpm', 'misc', 'mlx4', 'mlx5', 'noio', 'ocrdma', 'qib', 'srp' and 'usnic' into for-next
      eeaddf36
    • Steve Wise's avatar
      RDMA/cxgb4: Add support for iWARP Port Mapper user space service · 9eccfe10
      Steve Wise authored
      Based on original work by Vipul Pandya.
      Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
      
      [ Fix htons -> ntohs to make sparse happy.  - Roland ]
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      9eccfe10
    • Tatyana Nikolova's avatar
    • Tatyana Nikolova's avatar
      RDMA/core: Add support for iWARP Port Mapper user space service · 30dc5e63
      Tatyana Nikolova authored
      This patch adds iWARP Port Mapper (IWPM) Version 2 support.  The iWARP
      Port Mapper implementation is based on the port mapper specification
      section in the Sockets Direct Protocol paper -
      http://www.rdmaconsortium.org/home/draft-pinkerton-iwarp-sdp-v1.0.pdf
      
      Existing iWARP RDMA providers use the same IP address as the native
      TCP/IP stack when creating RDMA connections.  They need a mechanism to
      claim the TCP ports used for RDMA connections to prevent TCP port
      collisions when other host applications use TCP ports.  The iWARP Port
      Mapper provides a standard mechanism to accomplish this.  Without this
      service it is possible for RDMA application to bind/listen on the same
      port which is already being used by native TCP host application.  If
      that happens the incoming TCP connection data can be passed to the
      RDMA stack with error.
      
      The iWARP Port Mapper solution doesn't contain any changes to the
      existing network stack in the kernel space.  All the changes are
      contained with the infiniband tree and also in user space.
      
      The iWARP Port Mapper service is implemented as a user space daemon
      process.  Source for the IWPM service is located at
      http://git.openfabrics.org/git?p=~tnikolova/libiwpm-1.0.0/.git;a=summary
      
      The iWARP driver (port mapper client) sends to the IWPM service the
      local IP address and TCP port it has received from the RDMA
      application, when starting a connection.  The IWPM service performs a
      socket bind from user space to get an available TCP port, called a
      mapped port, and communicates it back to the client.  In that sense,
      the IWPM service is used to map the TCP port, which the RDMA
      application uses to any port available from the host TCP port
      space. The mapped ports are used in iWARP RDMA connections to avoid
      collisions with native TCP stack which is aware that these ports are
      taken. When an RDMA connection using a mapped port is terminated, the
      client notifies the IWPM service, which then releases the TCP port.
      
      The message exchange between the IWPM service and the iWARP drivers
      (between user space and kernel space) is implemented using netlink
      sockets.
      
      1) Netlink interface functions are added: ibnl_unicast() and
         ibnl_mulitcast() for sending netlink messages to user space
      
      2) The signature of the existing ibnl_put_msg() is changed to be more
         generic
      
      3) Two netlink clients are added: RDMA_NL_NES, RDMA_NL_C4IW
         corresponding to the two iWarp drivers - nes and cxgb4 which use
         the IWPM service
      
      4) Enums are added to enumerate the attributes in the netlink
         messages, which are exchanged between the user space IWPM service
         and the iWARP drivers
      Signed-off-by: default avatarTatyana Nikolova <tatyana.e.nikolova@intel.com>
      Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
      Reviewed-by: default avatarPJ Waskiewicz <pj.waskiewicz@solidfire.com>
      
      [ Fold in range checking fixes and nlh_next removal as suggested by Dan
        Carpenter and Steve Wise.  Fix sparse endianness in hash.  - Roland ]
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      30dc5e63
    • Linus Torvalds's avatar
      Merge branch 'serge-next-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/linux-security · fad0701e
      Linus Torvalds authored
      Pull security layer updates from Serge Hallyn:
       "This is a merge of James Morris' security-next tree from 3.14 to
        yesterday's master, plus four patches from Paul Moore which are in
        linux-next, plus one patch from Mimi"
      
      * 'serge-next-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/linux-security:
        ima: audit log files opened with O_DIRECT flag
        selinux: conditionally reschedule in hashtab_insert while loading selinux policy
        selinux: conditionally reschedule in mls_convert_context while loading selinux policy
        selinux: reject setexeccon() on MNT_NOSUID applications with -EACCES
        selinux:  Report permissive mode in avc: denied messages.
        Warning in scanf string typing
        Smack: Label cgroup files for systemd
        Smack: Verify read access on file open - v3
        security: Convert use of typedef ctl_table to struct ctl_table
        Smack: bidirectional UDS connect check
        Smack: Correctly remove SMACK64TRANSMUTE attribute
        SMACK: Fix handling value==NULL in post setxattr
        bugfix patch for SMACK
        Smack: adds smackfs/ptrace interface
        Smack: unify all ptrace accesses in the smack
        Smack: fix the subject/object order in smack_ptrace_traceme()
        Minor improvement of 'smack_sb_kern_mount'
        smack: fix key permission verification
        KEYS: Move the flags representing required permission to linux/key.h
      fad0701e
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.16-rc1-v2' of git://git.infradead.org/linux-ubifs · d53b47c0
      Linus Torvalds authored
      Pull UBIFS updates from Artem Bityutskiy:
       "This contains several UBIFS fixes.  One of them fixes a race condition
        between the mmap page fault path and fsync.  Another just removes a
        bogus assertion from the UBIFS memory shrinker.
      
        UBIFS also started honoring the MS_SILENT mount flag, so now it won't
        print many I/O errors when user-space just tries to probe for the FS.
      
        Rest of the changes are rather minor UBI/UBIFS fixes, improvements,
        and clean-ups"
      
      * tag 'upstream-3.16-rc1-v2' of git://git.infradead.org/linux-ubifs:
        UBIFS: Add an assertion for clean_zn_cnt
        UBIFS: respect MS_SILENT mount flag
        UBIFS: Remove incorrect assertion in shrink_tnc()
        UBIFS: fix debugging check
        UBIFS: add missing ui pointer in debugging code
        UBI: block: Fix error path on alloc_workqueue failure
        UBIFS: Fix dump messages in ubifs_dump_lprops
        UBI: fix rb_tree node comparison in add_map
        UBIFS: Remove unused variables in ubifs_budget_space
        UBI: weaken the 'exclusive' constraint when opening volumes to rename
        UBIFS: fix an mmap and fsync race condition
      d53b47c0
    • Andy Lutomirski's avatar
      auditsc: audit_krule mask accesses need bounds checking · a3c54931
      Andy Lutomirski authored
      Fixes an easy DoS and possible information disclosure.
      
      This does nothing about the broken state of x32 auditing.
      
      eparis: If the admin has enabled auditd and has specifically loaded
      audit rules.  This bug has been around since before git.  Wow...
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a3c54931
    • Mateusz Guzik's avatar
      NFS: populate ->net in mount data when remounting · a914722f
      Mateusz Guzik authored
      Otherwise the kernel oopses when remounting with IPv6 server because
      net is dereferenced in dev_get_by_name.
      
      Use net ns of current thread so that dev_get_by_name does not operate on
      foreign ns. Changing the address is prohibited anyway so this should not
      affect anything.
      Signed-off-by: default avatarMateusz Guzik <mguzik@redhat.com>
      Cc: linux-nfs@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: stable@vger.kernel.org # 3.4+
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      a914722f
    • Weston Andros Adamson's avatar
      pnfs: fix lockup caused by pnfs_generic_pg_test · c5e20cb7
      Weston Andros Adamson authored
      end_offset and req_offset both return u64 - avoid casting to u32
      until it's needed, when it's less than the (u32) size returned by
      nfs_generic_pg_test.
      
      Also, fix the comments in pnfs_generic_pg_test.
      
      Running the cthon04 special tests caused this lockup in the
      "write/read at 2GB, 4GB edges" test when running against a file layout server:
      
      BUG: soft lockup - CPU#0 stuck for 22s! [bigfile2:823]
      Modules linked in: nfs_layout_nfsv41_files rpcsec_gss_krb5 nfsv4 nfs fscache ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_mangle ip6table_filter ip6_tables iptable_nat nf_nat_ipv4 nf_nat iptable_mangle ppdev crc32c_intel aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd serio_raw e1000 shpchp i2c_piix4 i2c_core parport_pc parport nfsd auth_rpcgss oid_registry exportfs nfs_acl lockd sunrpc btrfs xor zlib_deflate raid6_pq mptspi scsi_transport_spi mptscsih mptbase ata_generic floppy autofs4
      irq event stamp: 205958
      hardirqs last  enabled at (205957): [<ffffffff814a62dc>] restore_args+0x0/0x30
      hardirqs last disabled at (205958): [<ffffffff814ad96a>] apic_timer_interrupt+0x6a/0x80
      softirqs last  enabled at (205956): [<ffffffff8103ffb2>] __do_softirq+0x1ea/0x2ab
      softirqs last disabled at (205951): [<ffffffff8104026d>] irq_exit+0x44/0x9a
      CPU: 0 PID: 823 Comm: bigfile2 Not tainted 3.15.0-rc1-branch-pgio_plus+ #3
      Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/31/2013
      task: ffff8800792ec480 ti: ffff880078c4e000 task.ti: ffff880078c4e000
      RIP: 0010:[<ffffffffa02ce51f>]  [<ffffffffa02ce51f>] nfs_page_group_unlock+0x3e/0x4b [nfs]
      RSP: 0018:ffff880078c4fab0  EFLAGS: 00000202
      RAX: 0000000000000fff RBX: ffff88006bf83300 RCX: 0000000000000000
      RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff88006bf83300
      RBP: ffff880078c4fab8 R08: 0000000000000001 R09: 0000000000000000
      R10: ffffffff8249840c R11: 0000000000000000 R12: 0000000000000035
      R13: ffff88007ffc72d8 R14: 0000000000000001 R15: 0000000000000000
      FS:  00007f45f11b7740(0000) GS:ffff88007f200000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 00007f3a8cb632d0 CR3: 000000007931c000 CR4: 00000000001407f0
      Stack:
       ffff88006bf832c0 ffff880078c4fb00 ffffffffa02cec22 ffff880078c4fad8
       00000fff810f9d99 ffff880078c4fca0 ffff88006bf832c0 ffff88006bf832c0
       ffff880078c4fca0 ffff880078c4fd60 ffff880078c4fb28 ffffffffa02cee34
      Call Trace:
       [<ffffffffa02cec22>] __nfs_pageio_add_request+0x298/0x34f [nfs]
       [<ffffffffa02cee34>] nfs_pageio_add_request+0x1f/0x42 [nfs]
       [<ffffffffa02d1722>] nfs_do_writepage+0x1b5/0x1e4 [nfs]
       [<ffffffffa02d1764>] nfs_writepages_callback+0x13/0x25 [nfs]
       [<ffffffffa02d1751>] ? nfs_do_writepage+0x1e4/0x1e4 [nfs]
       [<ffffffff810eb32d>] write_cache_pages+0x254/0x37f
       [<ffffffffa02d1751>] ? nfs_do_writepage+0x1e4/0x1e4 [nfs]
       [<ffffffff8149cf9e>] ? printk+0x54/0x56
       [<ffffffff810eacca>] ? __set_page_dirty_nobuffers+0x22/0xe9
       [<ffffffffa016d864>] ? put_rpccred+0x38/0x101 [sunrpc]
       [<ffffffffa02d1ae1>] nfs_writepages+0xb4/0xf8 [nfs]
       [<ffffffff810ec59c>] do_writepages+0x21/0x2f
       [<ffffffff810e36e8>] __filemap_fdatawrite_range+0x55/0x57
       [<ffffffff810e374a>] filemap_write_and_wait_range+0x2d/0x5b
       [<ffffffffa030ba0a>] nfs4_file_fsync+0x3a/0x98 [nfsv4]
       [<ffffffff8114ee3c>] vfs_fsync_range+0x18/0x20
       [<ffffffff810e40c2>] generic_file_aio_write+0xa7/0xbd
       [<ffffffffa02c5c6b>] nfs_file_write+0xf0/0x170 [nfs]
       [<ffffffff81129215>] do_sync_write+0x59/0x78
       [<ffffffff8112956c>] vfs_write+0xab/0x107
       [<ffffffff81129c8b>] SyS_write+0x49/0x7f
       [<ffffffff814acd12>] system_call_fastpath+0x16/0x1b
      Reported-by: default avatarAnna Schumaker <Anna.Schumaker@netapp.com>
      Signed-off-by: default avatarWeston Andros Adamson <dros@primarydata.com>
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      c5e20cb7
    • Linus Torvalds's avatar
      Merge tag 'for-f2fs-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 64b2d1fb
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, there is no special interesting feature, but we've
        investigated a couple of tuning points with respect to the I/O flow.
        Several major bug fixes and a bunch of clean-ups also have been made.
      
        This patch-set includes the following major enhancement patches:
         - enhance wait_on_page_writeback
         - support SEEK_DATA and SEEK_HOLE
         - enhance readahead flows
         - enhance IO flushes
         - support fiemap
         - add some tracepoints
      
        The other bug fixes are as follows:
         - fix to support a large volume > 2TB correctly
         - recovery bug fix wrt fallocated space
         - fix recursive lock on xattr operations
         - fix some cases on the remount flow
      
        And, there are a bunch of cleanups"
      
      * tag 'for-f2fs-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (52 commits)
        f2fs: support f2fs_fiemap
        f2fs: avoid not to call remove_dirty_inode
        f2fs: recover fallocated space
        f2fs: fix to recover data written by dio
        f2fs: large volume support
        f2fs: avoid crash when trace f2fs_submit_page_mbio event in ra_sum_pages
        f2fs: avoid overflow when large directory feathure is enabled
        f2fs: fix recursive lock by f2fs_setxattr
        MAINTAINERS: add a co-maintainer from samsung for F2FS
        MAINTAINERS: change the email address for f2fs
        f2fs: use inode_init_owner() to simplify codes
        f2fs: avoid to use slab memory in f2fs_issue_flush for efficiency
        f2fs: add a tracepoint for f2fs_read_data_page
        f2fs: add a tracepoint for f2fs_write_{meta,node,data}_pages
        f2fs: add a tracepoint for f2fs_write_{meta,node,data}_page
        f2fs: add a tracepoint for f2fs_write_end
        f2fs: add a tracepoint for f2fs_write_begin
        f2fs: fix checkpatch warning
        f2fs: deactivate inode page if the inode is evicted
        f2fs: decrease the lock granularity during write_begin
        ...
      64b2d1fb