1. 10 Mar, 2014 15 commits
  2. 09 Mar, 2014 7 commits
    • Linus Torvalds's avatar
      Merge branch 'for-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 1dc3217d
      Linus Torvalds authored
      Pull thermal fixes from Zhang Rui:
       "Specifics:
      
         - Update the help text of INT3403 Thermal driver, which was not
           friendly to users.  From Zhang Rui.
      
         - The "type" sysfs attribute of x86_pkg_temp_thermal registered
           thermal zones includes an instance number, which makes the
           thermal-to-hwmon bridge fails to group them all in a single hwmon
           device.  Fixed by Jean Delvare.
      
         - The hwmon device registered by x86_pkg_temp_thermal driver is
           redundant because the temperature value reported by
           x86_pkg_temp_thermal is already reported by the coretemp driver.
           Fixed by Jean Delvare.
      
         - Fix a problem that the cooling device can not be updated properly
           if it is initialized at max cooling state.  From Ni Wade.
      
         - Fix a problem that OF registered thermal zones are running without
           thermal governors.  From Zhang Rui.
      
         - Commit beeb5a1e ("thermal: rcar-thermal: Enable driver
           compilation with COMPILE_TEST") broke build on archs wihout io
           memory.  Thus make it depend on HAS_IOMEM to bypass build failures.
           Fixed by Richard Weinberger"
      
      * 'for-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        Thermal: thermal zone governor fix
        Thermal: Allow first update of cooling device state
        thermal,rcar_thermal: Add dependency on HAS_IOMEM
        x86_pkg_temp_thermal: Fix the thermal zone type
        x86_pkg_temp_thermal: Do not expose as a hwmon device
        Thermal: update INT3404 thermal driver help text
      1dc3217d
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 4aa41ba7
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A scattering of driver specific fixes here.
      
        The fixes from Axel cover bitrot in apparently unmaintained drivers,
        the at79 bug is fixing a glitch on /CS during initialisation of some
        devices which could break some slaves and the remainder are fixes for
        recently introduced bugs from the past release cycle or so"
      
      * tag 'spi-v3.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: atmel: add missing spi_master_{resume,suspend} calls to PM callbacks
        spi: coldfire-qspi: Fix getting correct address for *mcfqspi
        spi: fsl-dspi: Fix getting correct address for master
        spi: spi-ath79: fix initial GPIO CS line setup
        spi: spi-imx: spi_imx_remove: do not disable disabled clocks
        spi-topcliff-pch: Fix probing when DMA mode is used
        spi/topcliff-pch: Fix DMA channel
      4aa41ba7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 66a523db
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "This series addresses a number of outstanding issues wrt to active I/O
        shutdown using iser-target.  This includes:
      
         - Fix a long standing tpg_state bug where a tpg could be referenced
           during explicit shutdown (v3.1+ stable)
         - Use list_del_init for iscsi_cmd->i_conn_node so list_empty checks
           work as expected (v3.10+ stable)
         - Fix a isert_conn->state related hung task bug + ensure outstanding
           I/O completes during session shutdown.  (v3.10+ stable)
         - Fix isert_conn->post_send_buf_count accounting for RDMA READ/WRITEs
           (v3.10+ stable)
         - Ignore FRWR completions during active I/O shutdown (v3.12+ stable)
         - Fix command leakage for interrupt coalescing during active I/O
           shutdown (v3.13+ stable)
      
        Also included is another DIF emulation fix from Sagi specific to
        v3.14-rc code"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        Target/sbc: Fix sbc_copy_prot for offset scatters
        iser-target: Fix command leak for tx_desc->comp_llnode_batch
        iser-target: Ignore completions for FRWRs in isert_cq_tx_work
        iser-target: Fix post_send_buf_count for RDMA READ/WRITE
        iscsi/iser-target: Fix isert_conn->state hung shutdown issues
        iscsi/iser-target: Use list_del_init for ->i_conn_node
        iscsi-target: Fix iscsit_get_tpg_from_np tpg_state bug
      66a523db
    • Rafael J. Wysocki's avatar
      Revert "ACPI / sleep: pm_power_off needs more sanity checks to be installed" · 4c7b7040
      Rafael J. Wysocki authored
      Revert commit 3130497f ("ACPI / sleep: pm_power_off needs more
      sanity checks to be installed") that breaks power ACPI power off on a
      lot of systems, because it checks wrong registers.
      
      Fixes: 3130497f ("ACPI / sleep: pm_power_off needs more sanity checks to be installed")
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4c7b7040
    • Olof Johansson's avatar
      Merge tag 'omap-for-v3.14/fixes-dt-rc4' of... · 10554647
      Olof Johansson authored
      Merge tag 'omap-for-v3.14/fixes-dt-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      From Tony Lindgren:
      
      Two omap3430 vs 3630 device tree regression fixes for
      issues booting 3430 based boards.
      
      * tag 'omap-for-v3.14/fixes-dt-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: dts: omap3-gta04: Add ti,omap36xx to compatible property to avoid problems with booting
        ARM: dts: omap3-igep: fix boot fail due wrong compatible match
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      10554647
    • Olof Johansson's avatar
      Merge tag 'bcm-for-3.14-pinctrl-reduced-rename' of git://github.com/broadcom/bcm11351 into fixes · 4058f762
      Olof Johansson authored
      Merge 'bcm pinctrl rename' From Christin Daudt:
      
      Rename pinctrl dt binding to restore consistency with other bcm mobile
      bindings.
      
      * tag 'bcm-for-3.14-pinctrl-reduced-rename' of git://github.com/broadcom/bcm11351:
        pinctrl: Rename Broadcom Capri pinctrl binding
        pinctrl: refer to updated dt binding string.
        Update dtsi with new pinctrl compatible string
        + Linux 3.14-rc4
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      4058f762
    • Olof Johansson's avatar
      Merge tag 'sunxi-fixes-for-3.14' of https://github.com/mripard/linux into fixes · 614cd4a4
      Olof Johansson authored
      Allwinner fixes from Maxime Ripard:
      
      Two fixes for device trees additions that got added in 3.14. One fixes the
      interrupt types of some IPs, the other fixes up a compatible that got
      introduced during 3.14
      
      * tag 'sunxi-fixes-for-3.14' of https://github.com/mripard/linux:
        ARM: sunxi: dt: Change the touchscreen compatibles
        ARM: sun7i: dt: Fix interrupt trigger types
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      614cd4a4
  3. 08 Mar, 2014 18 commits
    • Linus Torvalds's avatar
      Merge branch 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · ca62eec4
      Linus Torvalds authored
      Pull cgroup fixes from Tejun Heo:
       "Two cpuset locking fixes from Li.  Both tagged for -stable"
      
      * 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cpuset: fix a race condition in __cpuset_node_allowed_softwall()
        cpuset: fix a locking issue in cpuset_migrate_mm()
      ca62eec4
    • Linus Torvalds's avatar
      Merge branch 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 15b04859
      Linus Torvalds authored
      Pull libata fixes from Tejun Heo:
       "Just a couple patches blacklisting more broken devices"
      
      * 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for Seagate Momentus SpinPoint M8 (2BA30001)
        libata: disable queued TRIM for Crucial M500 mSATA SSDs
      15b04859
    • Linus Torvalds's avatar
      Merge branch 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 9f93585f
      Linus Torvalds authored
      Pull workqueue fix from Tejun Heo:
       "This pull request contains a workqueue usage fix for firewire.
      
        For quite a long time now, workqueue only treats two work items
        identical iff both their addresses and callbacks match.  This is to
        avoid introducing false dependency through the work item being
        recycled while being executed.  This changes non-reentrancy guarantee
        for the users of PREPARE[_DELAYED]_WORK() - if the function changes,
        reentrancy isn't guaranteed against the previous instance.  Firewire
        depended on such nonreentrancy guarantee.
      
        This is fixed by doing the work item multiplexing from firewire proper
        while keeping the work function unchanged"
      
      * 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        firewire: don't use PREPARE_DELAYED_WORK
      9f93585f
    • Linus Torvalds's avatar
      Merge tag 'firewire-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · 85ec688c
      Linus Torvalds authored
      Pull firewire fixes from Stefan Richter:
       "Fix a use-after-free regression since v3.4 and an initialization
        regression since v3.10"
      
      * tag 'firewire-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: ohci: fix probe failure with Agere/LSI controllers
        firewire: net: fix use after free
      85ec688c
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux · 7bffc481
      Linus Torvalds authored
      Pull clk driver fix from Mike Turquette:
       "Single fix for a clock driver merged in 3.14-rc1.  Without this fix
        the CPU frequency cannot be scaled"
      
      * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux:
        clk: shmobile: rcar-gen2: Use kick bit to allow Z clock frequency change
      7bffc481
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · abfba60c
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
      
       - ACPI tables in some BIOSes list device resources with size equal to
         0, which doesn't make sense, so we should ignore them, but instead we
         try to use them and mangle things completely.  Fix from Zhang Rui.
      
       - Several models of Samsung laptops accumulate EC events when they are
         in sleep states which leads to EC buffer overflows that prevent new
         events from being signaled after system resume or reboot.  This has
         been affecting many users for quite a while and may be addressed by
         clearing the EC buffer during system resume and system startup on
         those machines.  From Kieran Clancy.
      
       - If the ACPI sleep control and status registers are not present (which
         happens if the Hardware Reduced ACPI mode bit is set in the ACPI
         tables, but also may result from BIOS bugs), we should not try to use
         ACPI to power off the system and ACPI S5 should not be listed as
         supported.  Fix from Aubrey Li.
      
       - There's a race condition in cpufreq_get() that leads to a kernel
         crash if that function is called at a wrong time.  Fix from Aaron
         Plattner.
      
       - cpufreq policy objects have to be initialized entirely before they
         are first accessed by their users which isn't the case currently and
         that potentially leads to various kinds of breakage that is difficult
         to debug.  Fix from Viresh Kumar.
      
       - Locking is missing in __cpufreq_add_dev() which leads to a race
         condition that may trigger a kernel crash.  Fix from Viresh Kumar.
      
      * tag 'pm+acpi-3.14-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / EC: Clear stale EC events on Samsung systems
        cpufreq: Initialize governor for a new policy under policy->rwsem
        cpufreq: Initialize policy before making it available for others to use
        cpufreq: use cpufreq_cpu_get() to avoid cpufreq_get() race conditions
        ACPI / sleep: pm_power_off needs more sanity checks to be installed
        ACPI / resources: ignore invalid ACPI device resources
      abfba60c
    • Jesse Barnes's avatar
      drm/i915: remove early fb allocation dependency on CONFIG_FB v2 · 484b41dd
      Jesse Barnes authored
      By stuffing the fb allocation into the crtc, we get mode set lifetime
      refcounting for free, but have to handle the initial pin & fence
      slightly differently.  It also means we can move the shared fb handling
      into the core rather than leaving it out in the fbdev code.
      
      v2: null out crtc->fb on error (Daniel)
          take fbdev fb ref and remove unused error path (Daniel)
      Requested-by: default avatarDaniel Vetter <daniel@ffwll.ch>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      484b41dd
    • Jesse Barnes's avatar
      drm/i915: Wrap the preallocated BIOS framebuffer and preserve for KMS fbcon v12 · d978ef14
      Jesse Barnes authored
      Retrieve current framebuffer config info from the regs and create an fb
      object for the buffer the BIOS or boot loader left us.  This should
      allow for smooth transitions to userspace apps once we finish the
      initial configuration construction.
      
      v2: check for non-native modes and adjust (Jesse)
          fixup aperture and cmap frees (Imre)
          use unlocked unref if init_bios fails (Jesse)
          fix curly brace around DSPADDR check (Imre)
          comment failure path for pin_and_fence (Imre)
      v3: fixup fixup of aperture frees (Chris)
      v4: update to current bits (locking & pin_and_fence hack) (Jesse)
      v5: move fb config fetch to display code (Jesse)
          re-order hw state readout on initial load to suit fb inherit (Jesse)
          re-add pin_and_fence in fbdev code to make sure we refcount properly (Je
      v6: rename to plane_config (Daniel)
          check for valid object when initializing BIOS fb (Jesse)
          split from plane_config readout and other display changes (Jesse)
          drop use_bios_fb option (Chris)
          update comments (Jesse)
          rework fbdev_init_bios for clarity (Jesse)
          drop fb obj ref under lock (Chris)
      v7: use fb object from plane_config instead (Ville)
          take ref on fb object (Jesse)
      v8: put under i915_fastboot option (Jesse)
          fix fb ptr checking (Jesse)
          inform drm_fb_helper if we fail to enable a connector (Jesse)
          drop unnecessary enabled[] modifications in failure cases (Chris)
          split from BIOS connector config readout (Daniel)
          don't memset the fb buffer if preallocated (Chris)
          alloc ifbdev up front and pass to init_bios (Chris)
          check for bad ifbdev in restore_mode too (Chris)
      v9: fix up !fastboot bpp setting (Jesse)
          fix up !fastboot helper alloc (Jesse)
          make sure BIOS fb is sufficient for biggest active pipe (Jesse)
      v10:fix up size calculation for proposed fbs (Chris)
          go back to two pass pipe fb assignment (Chris)
          add warning for active pipes w/o fbs (Chris)
          clean up num_pipes checks in fbdev_init and fbdev_restore_mode (Chris)
          move i915.fastboot into fbdev_init (Chris)
      v11:make BIOS connector config usage unconditional (Daniel)
      v12:fix up fb vs pipe size checking (Chris)
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      d978ef14
    • Jesse Barnes's avatar
      drm/i915: get_plane_config support for ILK+ v3 · 4c6baa59
      Jesse Barnes authored
      This should allow BIOS fb inheritance to work on ILK+ machines too.
      
      v2: handle tiled BIOS fbs (Kristian)
          split out common bits (Jesse)
      v3: alloc fb obj out in _init
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      4c6baa59
    • Jesse Barnes's avatar
      drm/i915: get_plane_config for i9xx v13 · 1ad292b5
      Jesse Barnes authored
      Read out the current plane configuration at init time into a new
      plane_config structure.  This allows us to track any existing
      framebuffers attached to the plane and potentially re-use them in our
      fbdev code for a smooth handoff.
      
      v2: update for new pitch_for_width function (Jesse)
          comment how get_plane_config works with shared fbs (Jesse)
      v3: s/ARGB/XRGB (Ville)
          use pipesrc width/height (Ville)
          fix fourcc comment (Bob)
          use drm_format_plane_cpp (Ville)
      v4: use fb for tracking fb data object (Ville)
      v5: fix up gen2 pitch limits (Ville)
      v6: read out stride as well (Daniel)
      v7: split out init ordering changes (Daniel)
          don't fetch config if !CONFIG_FB
      v8: use proper height in get_plane_config (Chris)
      v9: fix CONFIG_FB check for modular configs (Jani)
      v10: add comment about stolen allocation stomping
      v11: drop hw state readout hunk (Daniel)
      v12: handle tiled BIOS fbs (Kristian)
           pull out common bits (Jesse)
      v13: move fb obj alloc out to _init
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      1ad292b5
    • Jesse Barnes's avatar
      drm/i915: add plane_config fetching infrastructure v2 · 46f297fb
      Jesse Barnes authored
      Early at init time, we can try to read out the plane config structure
      and try to preserve it if possible.
      
      v2: alloc fb obj at init time after fetching plane config
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      46f297fb
    • Linus Torvalds's avatar
      x86: fix compile error due to X86_TRAP_NMI use in asm files · b01d4e68
      Linus Torvalds authored
      It's an enum, not a #define, you can't use it in asm files.
      
      Introduced in commit 5fa10196 ("x86: Ignore NMIs that come in during
      early boot"), and sadly I didn't compile-test things like I should have
      before pushing out.
      
      My weak excuse is that the x86 tree generally doesn't introduce stupid
      things like this (and the ARM pull afterwards doesn't cause me to do a
      compile-test either, since I don't cross-compile).
      
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: H. Peter Anvin <hpa@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b01d4e68
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 4d7eaa12
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "A number of ARM updates for -rc, covering mostly ARM specific code,
        but with one change to modpost.c to allow Thumb section mismatches to
        be detected.
      
        ARM changes include reporting when an attempt is made to boot a LPAE
        kernel on hardware which does not support LPAE, rather than just being
        silent about it.
      
        A number of other minor fixes are included too"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 7992/1: boot: compressed: ignore bswapsdi2.S
        ARM: 7991/1: sa1100: fix compile problem on Collie
        ARM: fix noMMU kallsyms symbol filtering
        ARM: 7980/1: kernel: improve error message when LPAE config doesn't match CPU
        ARM: 7964/1: Detect section mismatches in thumb relocations
        ARM: 7963/1: mm: report both sections from PMD
      4d7eaa12
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 95648c0e
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "A small collection of minor fixes.  The FPU stuff is still pending, I
        fear.  I haven't heard anything from Suresh so I suspect I'm going to
        have to dig into the init specifics myself and fix up the patchset"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Ignore NMIs that come in during early boot
        x86, trace: Further robustify CR2 handling vs tracing
        x86, trace: Fix CR2 corruption when tracing page faults
        x86/efi: Quirk out SGI UV
      95648c0e
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 9579f10d
      Linus Torvalds authored
      Pull power fixes from Ben Herrenschmidt:
       "Here are a couple of powerpc fixes for 3.14.
      
        One is (another!) nasty TM problem, we can crash the kernel by forking
        inside a transaction.  The other one is a simple fix for an alignment
        issue which can hurt in LE mode"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Align p_dyn, p_rela and p_st symbols
        powerpc/tm: Fix crash when forking inside a transaction
      9579f10d
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v3.14-rc5' of... · 721f0c12
      Linus Torvalds authored
      Merge tag 'trace-fixes-v3.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull tracing fix from Steven Rostedt:
       "In the past, I've had lots of reports about trace events not working.
        Developers would say they put a trace_printk() before and after the
        trace event but when they enable it (and the trace event said it was
        enabled) they would see the trace_printks but not the trace event.
      
        I was not able to reproduce this, but that's because I wasn't looking
        at the right location.  Recently, another bug came up that showed the
        issue.
      
        If your kernel supports signed modules but allows for non-signed
        modules to be loaded, then when one is, the kernel will silently set
        the MODULE_FORCED taint on the module.  Although, this taint happens
        without the need for insmod --force or anything of the kind, it labels
        the module with that taint anyway.
      
        If this tainted module has tracepoints, the tracepoints will be
        ignored because of the MODULE_FORCED taint.  But no error message will
        be displayed.  Worse yet, the event infrastructure will still be
        created letting users enable the trace event represented by the
        tracepoint, although that event will never actually be enabled.  This
        is because the tracepoint infrastructure allows for non-existing
        tracepoints to be enabled for new modules to arrive and have their
        tracepoints set.
      
        Although there are several things wrong with the above, this change
        only addresses the creation of the trace event files for tracepoints
        that are not created when a module is loaded and is tainted.  This
        change will print an error message about the module being tainted and
        not the trace events will not be created, and it does not create the
        trace event infrastructure"
      
      * tag 'trace-fixes-v3.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Do not add event files for modules that fail tracepoints
      721f0c12
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 27ea0f78
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       - a bugfix for a long standing waitqueue race
       - a trivial fix for a missing include
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Include missing header file in irqdomain.c
        genirq: Remove racy waitqueue_active check
      27ea0f78
    • Ditang Chen's avatar
      SUNRPC: Fix oops when trace sunrpc_task events in nfs client · 2ca310fc
      Ditang Chen authored
      When tracking sunrpc_task events in nfs client, the clnt pointer may be NULL.
      
      [  139.269266] BUG: unable to handle kernel NULL pointer dereference at 0000000000000004
      [  139.269915] IP: [<ffffffffa026f216>] ftrace_raw_event_rpc_task_running+0x86/0xf0 [sunrpc]
      [  139.269915] PGD 1d293067 PUD 1d294067 PMD 0
      [  139.269915] Oops: 0000 [#1] SMP
      [  139.269915] Modules linked in: nfsv4 dns_resolver nfs lockd sunrpc fscache sg ppdev e1000
      serio_raw pcspkr parport_pc parport i2c_piix4 i2c_core microcode xfs libcrc32c sd_mod sr_mod
      cdrom ata_generic crc_t10dif crct10dif_common pata_acpi ahci libahci ata_piix libata dm_mirror
      dm_region_hash dm_log dm_mod
      [  139.269915] CPU: 0 PID: 59 Comm: kworker/0:2 Not tainted 3.10.0-84.el7.x86_64 #1
      [  139.269915] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
      [  139.269915] Workqueue: rpciod rpc_async_schedule [sunrpc]
      [  139.269915] task: ffff88001b598000 ti: ffff88001b632000 task.ti: ffff88001b632000
      [  139.269915] RIP: 0010:[<ffffffffa026f216>]  [<ffffffffa026f216>] ftrace_raw_event_rpc_task_running+0x86/0xf0 [sunrpc]
      [  139.269915] RSP: 0018:ffff88001b633d70  EFLAGS: 00010206
      [  139.269915] RAX: ffff88001dfc5338 RBX: ffff88001cc37a00 RCX: ffff88001dfc5334
      [  139.269915] RDX: ffff88001dfc5338 RSI: 0000000000000000 RDI: ffff88001dfc533c
      [  139.269915] RBP: ffff88001b633db0 R08: 000000000000002c R09: 000000000000000a
      [  139.269915] R10: 0000000000062180 R11: 00000020759fb9dc R12: ffffffffa0292c20
      [  139.269915] R13: ffff88001dfc5334 R14: 0000000000000000 R15: 0000000000000000
      [  139.269915] FS:  0000000000000000(0000) GS:ffff88001fc00000(0000) knlGS:0000000000000000
      [  139.269915] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [  139.269915] CR2: 0000000000000004 CR3: 000000001d290000 CR4: 00000000000006f0
      [  139.269915] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  139.269915] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [  139.269915] Stack:
      [  139.269915]  000000001b633d98 0000000000000246 ffff88001df1dc00 ffff88001cc37a00
      [  139.269915]  ffff88001bc35e60 0000000000000000 ffff88001ffa0a48 ffff88001bc35ee0
      [  139.269915]  ffff88001b633e08 ffffffffa02704b5 0000000000010000 ffff88001cc37a70
      [  139.269915] Call Trace:
      [  139.269915]  [<ffffffffa02704b5>] __rpc_execute+0x1d5/0x400 [sunrpc]
      [  139.269915]  [<ffffffffa0270706>] rpc_async_schedule+0x26/0x30 [sunrpc]
      [  139.269915]  [<ffffffff8107867b>] process_one_work+0x17b/0x460
      [  139.269915]  [<ffffffff8107942b>] worker_thread+0x11b/0x400
      [  139.269915]  [<ffffffff81079310>] ? rescuer_thread+0x3e0/0x3e0
      [  139.269915]  [<ffffffff8107fc80>] kthread+0xc0/0xd0
      [  139.269915]  [<ffffffff8107fbc0>] ? kthread_create_on_node+0x110/0x110
      [  139.269915]  [<ffffffff815d122c>] ret_from_fork+0x7c/0xb0
      [  139.269915]  [<ffffffff8107fbc0>] ? kthread_create_on_node+0x110/0x110
      [  139.269915] Code: 4c 8b 45 c8 48 8d 7d d0 89 4d c4 41 89 c9 b9 28 00 00 00 e8 9d b4 e9
      e0 48 85 c0 49 89 c5 74 a2 48 89 c7 e8 9d 3f e9 e0 48 89 c2 <41> 8b 46 04 48 8b 7d d0 4c
      89 e9 4c 89 e6 89 42 0c 0f b7 83 d4
      [  139.269915] RIP  [<ffffffffa026f216>] ftrace_raw_event_rpc_task_running+0x86/0xf0 [sunrpc]
      [  139.269915]  RSP <ffff88001b633d70>
      [  139.269915] CR2: 0000000000000004
      [  140.946406] ---[ end trace ba486328b98d7622 ]---
      Signed-off-by: default avatarDitang Chen <chendt.fnst@cn.fujitsu.com>
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
      2ca310fc