1. 28 5月, 2015 1 次提交
    • I
      iwlwifi: pcie: fix tracking of cmd_in_flight · fc8a350d
      Ilan Peer 提交于
      The cmd_in_flight tracking was introduced to workaround faulty
      power management hardware, by having the driver keep the NIC
      awake as long as there are commands in flight. However, some of
      the code handling this workaround was unconditionally executed,
      which resulted with an inconsistent state where the driver assumed
      that the NIC was awake although it wasn't.
      
      Fix this by renaming 'cmd_in_flight' to 'cmd_hold_nic_awake' and
      handling the NIC requested awake state only for hardwares for
      which the workaround is needed.
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      fc8a350d
  2. 22 5月, 2015 6 次提交
    • E
      iwlwifi: mvm: avoid use-after-free on iwl_mvm_d0i3_enable_tx() · 29220891
      Eliad Peller 提交于
      qos_seq points (to a struct) inside the command response data.
      
      Make sure to free the response only after qos_seq is not
      needed anymore.
      Reported-by: NHeng Luo <heng.luo@intel.com>
      Signed-off-by: NEliad Peller <eliadx.peller@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      29220891
    • L
      iwlwifi: mvm: clean net-detect info if device was reset during suspend · a500e469
      Luciano Coelho 提交于
      If the device is reset during suspend with net-detect enabled, we
      leave the net-detect information dangling and this causes the next
      suspend to fail with a warning:
      
      [21795.351010] WARNING: at /root/iwlwifi/iwlwifi-stack-dev/drivers/net/wireless/iwlwifi/mvm/d3.c:989 __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]()
      [21795.353253] Modules linked in: iwlmvm(O) iwlwifi(O) mac80211(O) cfg80211(O) compat(O) [...]
      [21795.366168] CPU: 1 PID: 3645 Comm: bash Tainted: G           O 3.10.29-dev #1
      [21795.368785] Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
      [21795.371441]  f8ec6748 f8ec6748 e51f3ce8 c168aa62 e51f3d10 c103a824 c1871238 f8ec6748
      [21795.374228]  000003dd f8eb982e f8eb982e 00000000 c3408ed4 c41edbbc e51f3d20 c103a862
      [21795.377006]  00000009 00000000 e51f3da8 f8eb982e c41ee3dc 00000004 e7970000 e51f3d74
      [21795.379792] Call Trace:
      [21795.382461]  [<c168aa62>] dump_stack+0x16/0x18
      [21795.385133]  [<c103a824>] warn_slowpath_common+0x64/0x80
      [21795.387803]  [<f8eb982e>] ? __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]
      [21795.390485]  [<f8eb982e>] ? __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]
      [21795.393124]  [<c103a862>] warn_slowpath_null+0x22/0x30
      [21795.395787]  [<f8eb982e>] __iwl_mvm_suspend.isra.6+0x2be/0x460 [iwlmvm]
      [21795.398464]  [<f8eb9d7c>] iwl_mvm_suspend+0xec/0x140 [iwlmvm]
      [21795.401127]  [<c104be11>] ? del_timer_sync+0xa1/0xc0
      [21795.403800]  [<f8d4107e>] __ieee80211_suspend+0x1de/0xff0 [mac80211]
      [21795.406459]  [<c168e43d>] ? mutex_lock_nested+0x25d/0x350
      [21795.409084]  [<c1586b64>] ? rtnl_lock+0x14/0x20
      [21795.411685]  [<f8cf0076>] ieee80211_suspend+0x16/0x20 [mac80211]
      [21795.414318]  [<f8c4e014>] wiphy_suspend+0x74/0x710 [cfg80211]
      [21795.416916]  [<c141e612>] __device_suspend+0x1e2/0x220
      [21795.419521]  [<f8c4dfa0>] ? addresses_show+0xa0/0xa0 [cfg80211]
      [21795.422097]  [<c141f997>] dpm_suspend+0x67/0x210
      [21795.424661]  [<c141fd6f>] dpm_suspend_start+0x4f/0x60
      [21795.427219]  [<c108d8e0>] suspend_devices_and_enter+0x60/0x480
      [21795.429768]  [<c168646a>] ? printk+0x4d/0x4f
      [21795.432295]  [<c108de76>] pm_suspend+0x176/0x210
      [21795.434830]  [<c108ca5d>] state_store+0x5d/0xb0
      [21795.437410]  [<c108ca00>] ? wakeup_count_show+0x50/0x50
      [21795.439961]  [<c13208db>] kobj_attr_store+0x1b/0x30
      [21795.442514]  [<c11e3a4b>] sysfs_write_file+0xab/0x100
      [21795.445088]  [<c11e39a0>] ? sysfs_poll+0xa0/0xa0
      [21795.447659]  [<c1179655>] vfs_write+0xa5/0x1c0
      [21795.450212]  [<c1179af7>] SyS_write+0x57/0xa0
      [21795.452699]  [<c1699ec1>] sysenter_do_call+0x12/0x32
      [21795.455146] ---[ end trace faf5321baba2bfdb ]---
      
      To fix this, call the iwl_mvm_free_nd() function in case of any error
      during resume.  Additionally, rename the "out_unlock" label to err to
      make it clearer that it's only called in error conditions.
      
      Cc: stable@vger.kernel.org [3.19+]
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      a500e469
    • L
      iwlwifi: mvm: take the UCODE_DOWN reference when resuming · dcfc7fb1
      Luciano Coelho 提交于
      The __iwl_mvm_resume() function always returns 1, which causes
      mac80211 to do a reconfig with IEEE80211_RECONFIG_TYPE_RESTART.  This
      type of reconfig calls iwl_mvm_restart_complete(), where we unref the
      IWL_MVM_REF_UCODE_DOWN, so we should always take the reference in this
      case.
      
      This prevents this kind of warning from happening:
      
      [40026.103025] WARNING: at /root/iwlwifi/iwlwifi-stack-dev/drivers/net/wireless/iwlwifi/mvm/mac80211.c:236 iwl_mvm_unref+0xc9/0xd0 [iwlmvm]()
      [40026.105145] Modules linked in: iwlmvm(O) iwlwifi(O) mac80211(O) cfg80211(O) compat(O) ctr ccm arc4 autofs4 snd_hda_codec_hdmi snd_hda_codec_idt joydev coretemp kvm_intel kvm aesni_intel ablk_helper cryptd lrw aes_i586 snd_hda_intel xts snd_hda_codec gf128mul snd_hwdep snd_pcm snd_seq_midi dell_wmi snd_rawmidi sparse_keymap snd_seq_midi_event snd_seq uvcvideo dell_laptop videobuf2_core dcdbas microcode videodev psmouse snd_timer videobuf2_vmalloc videobuf2_memops serio_raw snd_seq_device btusb i915 snd bluetooth lpc_ich drm_kms_helper soundcore snd_page_alloc drm i2c_algo_bit wmi parport_pc ppdev video binfmt_misc rpcsec_gss_krb5 nfsd mac_hid nfs_acl nfsv4 auth_rpcgss nfs fscache lockd sunrpc msdos lp parport sdhci_pci sdhci ahci libahci e1000e mmc_core ptp pps_core [last unloaded: compat]
      [40026.117640] CPU: 2 PID: 3827 Comm: bash Tainted: G        W  O 3.10.29-dev #1
      [40026.120216] Hardware name: Dell Inc. Latitude E6430/0CPWYR, BIOS A09 12/13/2012
      [40026.122815]  f8effd18 f8effd18 e740fd18 c168aa62 e740fd40 c103a824 c1871238 f8effd18
      [40026.125527]  000000ec f8ec79c9 f8ec79c9 d5d29ba4 d5d2a20c 00000000 e740fd50 c103a862
      [40026.128209]  00000009 00000000 e740fd7c f8ec79c9 f1c591c4 00000400 00000000 f8efb490
      [40026.130886] Call Trace:
      [40026.133506]  [<c168aa62>] dump_stack+0x16/0x18
      [40026.136115]  [<c103a824>] warn_slowpath_common+0x64/0x80
      [40026.138727]  [<f8ec79c9>] ? iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
      [40026.141319]  [<f8ec79c9>] ? iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
      [40026.143881]  [<c103a862>] warn_slowpath_null+0x22/0x30
      [40026.146453]  [<f8ec79c9>] iwl_mvm_unref+0xc9/0xd0 [iwlmvm]
      [40026.149030]  [<f8ec7a4d>] iwl_mvm_mac_reconfig_complete+0x7d/0x210 [iwlmvm]
      [40026.151645]  [<f8b74b20>] ? ftrace_raw_event_drv_reconfig_complete+0xc0/0xe0 [mac80211]
      [40026.154291]  [<f8b6769e>] ieee80211_reconfig+0x28e/0x2620 [mac80211]
      [40026.156920]  [<c10ef0ea>] ? ring_buffer_unlock_commit+0xba/0x100
      [40026.159585]  [<f8b4a04d>] ieee80211_resume+0x6d/0x80 [mac80211]
      [40026.162206]  [<f8a79722>] wiphy_resume+0x72/0x260 [cfg80211]
      [40026.164799]  [<c141e2e7>] ? device_resume+0x57/0x150
      [40026.167425]  [<f8a796b0>] ? wiphy_suspend+0x710/0x710 [cfg80211]
      [40026.170075]  [<c141e26e>] dpm_run_callback+0x2e/0x50
      [40026.172695]  [<c141e321>] device_resume+0x91/0x150
      [40026.175334]  [<c141f636>] dpm_resume+0xf6/0x200
      [40026.177922]  [<c141f920>] dpm_resume_end+0x10/0x20
      [40026.180489]  [<c108d9f7>] suspend_devices_and_enter+0x177/0x480
      [40026.183037]  [<c168646a>] ? printk+0x4d/0x4f
      [40026.185559]  [<c108de76>] pm_suspend+0x176/0x210
      [40026.188065]  [<c108ca5d>] state_store+0x5d/0xb0
      [40026.190581]  [<c108ca00>] ? wakeup_count_show+0x50/0x50
      [40026.193052]  [<c13208db>] kobj_attr_store+0x1b/0x30
      [40026.195608]  [<c11e3a4b>] sysfs_write_file+0xab/0x100
      [40026.198055]  [<c11e39a0>] ? sysfs_poll+0xa0/0xa0
      [40026.200469]  [<c1179655>] vfs_write+0xa5/0x1c0
      [40026.202893]  [<c1179af7>] SyS_write+0x57/0xa0
      [40026.205245]  [<c1699ec1>] sysenter_do_call+0x12/0x32
      [40026.207619] ---[ end trace db1d5a72a0381b0a ]---
      Signed-off-by: NLuciano Coelho <luciano.coelho@intel.com>
      Reviewed-by: NEliadX Peller <eliad@wizery.com>
      Reviewed-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      dcfc7fb1
    • E
      iwlwifi: mvm: BT Coex - duplicate the command if sent ASYNC · 165b3c4f
      Emmanuel Grumbach 提交于
      There are buses that can't handle ASYNC command without
      copying them. Duplicate the host command instead.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      165b3c4f
    • L
      iwlwifi: nvm: force mac from otp in case nvm mac is reserved · 18f84673
      Liad Kaufman 提交于
      Take the MAC address from the OTP even if one is present in
      the NVM, if that MAC address happens to be a reserved one.
      Signed-off-by: NLiad Kaufman <liad.kaufman@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      18f84673
    • H
      iwlwifi: mvm: Free fw_status after use to avoid memory leak · 2fc863a5
      Haim Dreyfuss 提交于
      fw_status is the only pointer pointing to a block of memory
      allocated above and should be freed after use.
      Note: this come from Klockwork static analyzer.
      
      Cc: stable@vger.kernel.org [3.19+]
      Fixes: 2021a89d ("iwlwifi: mvm: treat netdetect wake up separately")
      Signed-off-by: NHaim Dreyfuss <haim.dreyfuss@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      2fc863a5
  3. 15 5月, 2015 3 次提交
  4. 10 5月, 2015 1 次提交
  5. 28 4月, 2015 3 次提交
    • J
      iwlwifi: mvm: force quota update update after FW restart · e7afe89f
      Johannes Berg 提交于
      During firmware restart, the quota command isn't calculated multiple
      times, but after the firmware restart it has to be sent, so force it.
      Otherwise the firmware crashes.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      e7afe89f
    • E
      iwlwifi: mvm: fix typo in CONFIG option · 6bbd5521
      Emmanuel Grumbach 提交于
      I forgot to rename the CPTCFG_ prefix...
      
      Fixes: 484b3d13 ("iwlwifi: mvm: add debugfs entry with the number of net-detect scans")
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      6bbd5521
    • E
      iwlwifi: mvm: don't power off the device between INIT and OPER firmwares · 8d193ca2
      Eran Harary 提交于
      Our device needs two different firmwares: the INIT firmware
      and the operational (OPER) firmware. The first one is run
      when the driver loads and it returns calibrations results
      as well as the NVM. The second one implements the WiFi
      protocol.
      
      If the wlan interface is not brought up, the device is put
      to low power state: no firmware will be running. When the
      interface is brought up, we would run the OPER firmware
      only and reuse the results of the run of the INIT firmware
      when the driver was loaded. This is changing with this
      patch.
      We now run the INIT firmware every time mac80211 calls
      start(). The penalty for that is minimal since the INIT
      firwmare run fast. I now also avoid to power down the device
      between the INIT and OPER firmware on certains buses.
      
      The motivation for this change is that there are components
      on the device (MFUART) that are triggered by the INIT
      firmware and need the device to be powered up in order to
      keep running. Powering the device down between the INIT and
      OPER firmware would stop these components and prevent them
      from running again since they are triggered by the INIT
      firmware only.
      The new flow allows this and also allows to trigger these
      components again when the interface is brought up after
      it has been brought down.
      Signed-off-by: NEran Harary <eran.harary@intel.com>
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      8d193ca2
  6. 20 4月, 2015 1 次提交
  7. 19 4月, 2015 4 次提交
  8. 16 4月, 2015 1 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 6c373ca8
      Linus Torvalds 提交于
      Pull networking updates from David Miller:
      
       1) Add BQL support to via-rhine, from Tino Reichardt.
      
       2) Integrate SWITCHDEV layer support into the DSA layer, so DSA drivers
          can support hw switch offloading.  From Floria Fainelli.
      
       3) Allow 'ip address' commands to initiate multicast group join/leave,
          from Madhu Challa.
      
       4) Many ipv4 FIB lookup optimizations from Alexander Duyck.
      
       5) Support EBPF in cls_bpf classifier and act_bpf action, from Daniel
          Borkmann.
      
       6) Remove the ugly compat support in ARP for ugly layers like ax25,
          rose, etc.  And use this to clean up the neigh layer, then use it to
          implement MPLS support.  All from Eric Biederman.
      
       7) Support L3 forwarding offloading in switches, from Scott Feldman.
      
       8) Collapse the LOCAL and MAIN ipv4 FIB tables when possible, to speed
          up route lookups even further.  From Alexander Duyck.
      
       9) Many improvements and bug fixes to the rhashtable implementation,
          from Herbert Xu and Thomas Graf.  In particular, in the case where
          an rhashtable user bulk adds a large number of items into an empty
          table, we expand the table much more sanely.
      
      10) Don't make the tcp_metrics hash table per-namespace, from Eric
          Biederman.
      
      11) Extend EBPF to access SKB fields, from Alexei Starovoitov.
      
      12) Split out new connection request sockets so that they can be
          established in the main hash table.  Much less false sharing since
          hash lookups go direct to the request sockets instead of having to
          go first to the listener then to the request socks hashed
          underneath.  From Eric Dumazet.
      
      13) Add async I/O support for crytpo AF_ALG sockets, from Tadeusz Struk.
      
      14) Support stable privacy address generation for RFC7217 in IPV6.  From
          Hannes Frederic Sowa.
      
      15) Hash network namespace into IP frag IDs, also from Hannes Frederic
          Sowa.
      
      16) Convert PTP get/set methods to use 64-bit time, from Richard
          Cochran.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1816 commits)
        fm10k: Bump driver version to 0.15.2
        fm10k: corrected VF multicast update
        fm10k: mbx_update_max_size does not drop all oversized messages
        fm10k: reset head instead of calling update_max_size
        fm10k: renamed mbx_tx_dropped to mbx_tx_oversized
        fm10k: update xcast mode before synchronizing multicast addresses
        fm10k: start service timer on probe
        fm10k: fix function header comment
        fm10k: comment next_vf_mbx flow
        fm10k: don't handle mailbox events in iov_event path and always process mailbox
        fm10k: use separate workqueue for fm10k driver
        fm10k: Set PF queues to unlimited bandwidth during virtualization
        fm10k: expose tx_timeout_count as an ethtool stat
        fm10k: only increment tx_timeout_count in Tx hang path
        fm10k: remove extraneous "Reset interface" message
        fm10k: separate PF only stats so that VF does not display them
        fm10k: use hw->mac.max_queues for stats
        fm10k: only show actual queues, not the maximum in hardware
        fm10k: allow creation of VLAN on default vid
        fm10k: fix unused warnings
        ...
      6c373ca8
  9. 15 4月, 2015 20 次提交
    • L
      Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · bb0fd7ab
      Linus Torvalds 提交于
      Pull ARM updates from Russell King:
       "Included in this update are both some long term fixes and some new
        features.
      
        Fixes:
      
         - An integer overflow in the calculation of ELF_ET_DYN_BASE.
      
         - Avoiding OOMs for high-order IOMMU allocations
      
         - SMP requires the data cache to be enabled for synchronisation
           primitives to work, so prevent the CPU_DCACHE_DISABLE option being
           visible on SMP builds.
      
         - A bug going back 10+ years in the noMMU ARM94* CPU support code,
           where it corrupts registers.  Found by folk getting Linux running
           on their cameras.
      
         - Versatile Express needs an errata workaround enabled for CPU
           hot-unplug to work.
      
        Features:
      
         - Clean up module linker by handling out of range relocations
           separately from relocation cases we don't handle.
      
         - Fix a long term bug in the pci_mmap_page_range() code, which we
           hope won't impact userspace (we hope there's no users of the
           existing broken interface.)
      
         - Don't map DMA coherent allocations when we don't have a MMU.
      
         - Drop experimental status for SMP_ON_UP.
      
         - Warn when DT doesn't specify ePAPR mandatory cache properties.
      
         - Add documentation concerning how we find the start of physical
           memory for AUTO_ZRELADDR kernels, detailing why we have chosen the
           mask and the implications of changing it.
      
         - Updates from Ard Biesheuvel to address some issues with large
           kernels (such as allyesconfig) failing to link.
      
         - Allow hibernation to work on modern (ARMv7) CPUs - this appears to
           have never worked in the past on these CPUs.
      
         - Enable IRQ_SHOW_LEVEL, which changes the /proc/interrupts output
           format (hopefully without userspace breaking...  let's hope that if
           it causes someone a problem, they tell us.)
      
         - Fix tegra-ahb DT offsets.
      
         - Rework ARM errata 643719 code (and ARMv7 flush_cache_louis()/
           flush_dcache_all()) code to be more efficient, and enable this
           errata workaround by default for ARMv7+SMP CPUs.  This complements
           the Versatile Express fix above.
      
         - Rework ARMv7 context code for errata 430973, so that only Cortex A8
           CPUs are impacted by the branch target buffer flush when this
           errata is enabled.  Also update the help text to indicate that all
           r1p* A8 CPUs are impacted.
      
         - Switch ARM to the generic show_mem() implementation, it conveys all
           the information which we were already reporting.
      
         - Prevent slow timer sources being used for udelay() - timers running
           at less than 1MHz are not useful for this, and can cause udelay()
           to return immediately, without any wait.  Using such a slow timer
           is silly.
      
         - VDSO support for 32-bit ARM, mainly for gettimeofday() using the
           ARM architected timer.
      
         - Perf support for Scorpion performance monitoring units"
      
      vdso semantic conflict fixed up as per linux-next.
      
      * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (52 commits)
        ARM: update errata 430973 documentation to cover Cortex A8 r1p*
        ARM: ensure delay timer has sufficient accuracy for delays
        ARM: switch to use the generic show_mem() implementation
        ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs
        ARM: enable ARM errata 643719 workaround by default
        ARM: cache-v7: optimise test for Cortex A9 r0pX devices
        ARM: cache-v7: optimise branches in v7_flush_cache_louis
        ARM: cache-v7: consolidate initialisation of cache level index
        ARM: cache-v7: shift CLIDR to extract appropriate field before masking
        ARM: cache-v7: use movw/movt instructions
        ARM: allow 16-bit instructions in ALT_UP()
        ARM: proc-arm94*.S: fix setup function
        ARM: vexpress: fix CPU hotplug with CT9x4 tile.
        ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP
        ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy base address
        ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address
        ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros
        ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL
        ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility
        ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA allocations
        ...
      bb0fd7ab
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · bdfa54df
      Linus Torvalds 提交于
      Pull s390 updates from Martin Schwidefsky:
       "The major change in this merge is the removal of the support for
        31-bit kernels.  Naturally 31-bit user space will continue to work via
        the compat layer.
      
        And then some cleanup, some improvements and bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (23 commits)
        s390/smp: wait until secondaries are active & online
        s390/hibernate: fix save and restore of kernel text section
        s390/cacheinfo: add missing facility check
        s390/syscalls: simplify syscall_get_arch()
        s390/irq: enforce correct irqclass_sub_desc array size
        s390: remove "64" suffix from mem64.S and swsusp_asm64.S
        s390/ipl: cleanup macro usage
        s390/ipl: cleanup shutdown_action attributes
        s390/ipl: cleanup bin attr usage
        s390/uprobes: fix address space annotation
        s390: add missing arch_release_task_struct() declaration
        s390: make couple of functions and variables static
        s390/maccess: improve s390_kernel_write()
        s390/maccess: remove potentially broken probe_kernel_write()
        s390/watchdog: support for KVM hypervisors and delete pr_info messages
        s390/watchdog: enable KEEPALIVE for /dev/watchdog
        s390/dasd: remove setting of scheduler from driver
        s390/traps: panic() instead of die() on translation exception
        s390: remove test_facility(2) (== z/Architecture mode active) checks
        s390/cmpxchg: simplify cmpxchg_double
        ...
      bdfa54df
    • L
      Merge tag 'pm+acpi-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2481bc75
      Linus Torvalds 提交于
      Pull power management and ACPI updates from Rafael Wysocki:
       "These are mostly fixes and cleanups all over, although there are a few
        items that sort of fall into the new feature category.
      
        First off, we have new callbacks for PM domains that should help us to
        handle some issues related to device initialization in a better way.
      
        There also is some consolidation in the unified device properties API
        area allowing us to use that inferface for accessing data coming from
        platform initialization code in addition to firmware-provided data.
      
        We have some new device/CPU IDs in a few drivers, support for new
        chips and a new cpufreq driver too.
      
        Specifics:
      
         - Generic PM domains support update including new PM domain callbacks
           to handle device initialization better (Russell King, Rafael J
           Wysocki, Kevin Hilman)
      
         - Unified device properties API update including a new mechanism for
           accessing data provided by platform initialization code (Rafael J
           Wysocki, Adrian Hunter)
      
         - ARM cpuidle update including ARM32/ARM64 handling consolidation
           (Daniel Lezcano)
      
         - intel_idle update including support for the Silvermont Core in the
           Baytrail SOC and for the Airmont Core in the Cherrytrail and
           Braswell SOCs (Len Brown, Mathias Krause)
      
         - New cpufreq driver for Hisilicon ACPU (Leo Yan)
      
         - intel_pstate update including support for the Knights Landing chip
           (Dasaratharaman Chandramouli, Kristen Carlson Accardi)
      
         - QorIQ cpufreq driver update (Tang Yuantian, Arnd Bergmann)
      
         - powernv cpufreq driver update (Shilpasri G Bhat)
      
         - devfreq update including Tegra support changes (Tomeu Vizoso,
           MyungJoo Ham, Chanwoo Choi)
      
         - powercap RAPL (Running-Average Power Limit) driver update including
           support for Intel Broadwell server chips (Jacob Pan, Mathias Krause)
      
         - ACPI device enumeration update related to the handling of the
           special PRP0001 device ID allowing DT-style 'compatible' property
           to be used for ACPI device identification (Rafael J Wysocki)
      
         - ACPI EC driver update including limited _DEP support (Lan Tianyu,
           Lv Zheng)
      
         - ACPI backlight driver update including a new mechanism to allow
           native backlight handling to be forced on non-Windows 8 systems and
           a new quirk for Lenovo Ideapad Z570 (Aaron Lu, Hans de Goede)
      
         - New Windows Vista compatibility quirk for Sony VGN-SR19XN (Chen Yu)
      
         - Assorted ACPI fixes and cleanups (Aaron Lu, Martin Kepplinger,
           Masanari Iida, Mika Westerberg, Nan Li, Rafael J Wysocki)
      
         - Fixes related to suspend-to-idle for the iTCO watchdog driver and
           the ACPI core system suspend/resume code (Rafael J Wysocki, Chen Yu)
      
         - PM tracing support for the suspend phase of system suspend/resume
           transitions (Zhonghui Fu)
      
         - Configurable delay for the system suspend/resume testing facility
           (Brian Norris)
      
         - PNP subsystem cleanups (Peter Huewe, Rafael J Wysocki)"
      
      * tag 'pm+acpi-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (74 commits)
        ACPI / scan: Fix NULL pointer dereference in acpi_companion_match()
        ACPI / scan: Rework modalias creation when "compatible" is present
        intel_idle: mark cpu id array as __initconst
        powercap / RAPL: mark rapl_ids array as __initconst
        powercap / RAPL: add ID for Broadwell server
        intel_pstate: Knights Landing support
        intel_pstate: remove MSR test
        cpufreq: fix qoriq uniprocessor build
        ACPI / scan: Take the PRP0001 position in the list of IDs into account
        ACPI / scan: Simplify acpi_match_device()
        ACPI / scan: Generalize of_compatible matching
        device property: Introduce firmware node type for platform data
        device property: Make it possible to use secondary firmware nodes
        PM / watchdog: iTCO: stop watchdog during system suspend
        cpufreq: hisilicon: add acpu driver
        ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion handler
        cpufreq: powernv: Report cpu frequency throttling
        intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs
        intel_idle: Update support for Silvermont Core in Baytrail SOC
        PM / devfreq: tegra: Register governor on module init
        ...
      2481bc75
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 9f915141
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2015-04-14
      
      This series contains updates to fm10k only.
      
      Fixed transmit statistics which was actually using values from the
      receive ring, instead of the transmit ring.  Fixed up spelling mistakes
      in code comments and resolved unused argument warnings.  Added support
      for netconsole.  Fixed up statistic reporting so that we are only
      reporting from actual queues as well as display PF only stats for
      just the PF and not the VF.  Also fixed an issue that when returning
      virtualization queues from the VF back to the PF, we were retaining
      the VF rate limiter.
      
      Fixed up the driver to use a separate workqueue, which helps reduce
      and stabilize latency between scheduling the work in our interrupt and
      actually performing the work.
      
      Fixed a bug where the VF tried to set a multicast address before
      requesting the required xcast mode.
      
      Fix VF multicast update since VFs were being improperly added to the
      switch's mutlicast group.  The error stems from the fact that incorrect
      arguments were passed to the update_mc_addr().
      
      Thanks to Alex Duyck for the extensive review.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9f915141
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 8691c130
      Linus Torvalds 提交于
      Pull input subsystem updates from Dmitry Torokhov:
       "You will get the following new drivers:
      
         - Qualcomm PM8941 power key drver
         - ChipOne icn8318 touchscreen controller driver
         - Broadcom iProc touchscreen and keypad drivers
         - Semtech SX8654 I2C touchscreen controller driver
      
        ALPS driver now supports newer SS4 devices; Elantech got a fix that
        should make it work on some ASUS laptops; and a slew of other
        enhancements and random fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (51 commits)
        Input: alps - non interleaved V2 dualpoint has separate stick button bits
        Input: alps - fix touchpad buttons getting stuck when used with trackpoint
        Input: atkbd - document "no new force-release quirks" policy
        Input: ALPS - make alps_get_pkt_id_ss4_v2() and others static
        Input: ALPS - V7 devices can report 5-finger taps
        Input: ALPS - add support for SS4 touchpad devices
        Input: ALPS - refactor alps_set_abs_params_mt()
        Input: elantech - fix absolute mode setting on some ASUS laptops
        Input: atmel_mxt_ts - split out touchpad initialisation logic
        Input: atmel_mxt_ts - implement support for T100 touch object
        Input: cros_ec_keyb - fix clearing keyboard state on wakeup
        Input: gscps2 - drop pci_ids dependency
        Input: synaptics - allocate 3 slots to keep stability in image sensors
        Input: Revert "Revert "synaptics - use dmax in input_mt_assign_slots""
        Input: MT - make slot assignment work for overcovered solutions
        mfd: tc3589x: enforce device-tree only mode
        Input: tc3589x - localize platform data
        Input: tsc2007 - Convert msecs to jiffies only once
        Input: edt-ft5x06 - remove EV_SYN event report
        Input: edt-ft5x06 - allow to setting the maximum axes value through the DT
        ...
      8691c130
    • L
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · c3a416a6
      Linus Torvalds 提交于
      Pull i2c updates from Wolfram Sang:
       "Most notable:
      
         - introducing the i2c_quirk infrastructure.  Now, flaws of I2C
           controllers can be described and the core will check if the flaws
           collide with the messages to be sent
      
         - wait_for_completion return type cleanup series
      
         - new drivers for Digicolor, Netlogic XLP, Ingenic JZ4780
      
         - updates to the I2C slave framework which include API changes.  Its
           only user was updated, too.  Documentation was finally added
      
         - changed dynamic bus numbering for the DT case.  This could change
           bus numbers for users.  However, it fixes a collision where dynamic
           and static busses request the same id.
      
         - driver bugfixes, cleanups"
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (52 commits)
        i2c: xlp9xx: Driver for Netlogic XLP9XX/5XX I2C controller
        of: Add vendor prefix 'netlogic'
        i2c: davinci: use ICPFUNC to toggle I2C as gpio for bus recovery
        i2c: davinci: use bus recovery infrastructure
        i2c: change input parameter to i2c_adapter for prepare/unprepare_recovery
        i2c: i2c-mux-gpio: remove error messages for probe deferrals
        i2c: jz4780: Add i2c bus controller driver for Ingenic JZ4780
        i2c: dln2: set the device tree node of the adapter
        i2c: davinci: fixup wait_for_completion_timeout handling
        i2c: mpc: Fix ISR return value
        i2c: slave-eeprom: add more info when to increase the pointer
        i2c: slave: add documentation for i2c-slave-eeprom
        Documentation: i2c: describe the new slave mode
        i2c: slave: rework the slave API
        i2c: add support for the Digicolor I2C controller
        i2c: busses with dynamic ids should start after fixed ids for DT
        of: base: add function to get highest id of an alias stem
        i2c: designware: Suppress error message if platform_get_irq() < 0
        i2c: mpc: assign the correct prescaler from SVR
        i2c: img-scb: fixup of wait_for_completion_timeout return handling
        ...
      c3a416a6
    • L
      Merge tag 'vfio-v4.1-rc1' of git://github.com/awilliam/linux-vfio · 8c194f3b
      Linus Torvalds 提交于
      Pull VFIO updates from Alex Williamson:
      
       - VFIO platform bus driver support (Baptiste Reynal, Antonios Motakis,
         testing and review by Eric Auger)
      
       - Split VFIO irqfd support to separate module (Alex Williamson)
      
       - vfio-pci VGA arbiter client (Alex Williamson)
      
       - New vfio-pci.ids= module option (Alex Williamson)
      
       - vfio-pci D3 power state support for idle devices (Alex Williamson)
      
      * tag 'vfio-v4.1-rc1' of git://github.com/awilliam/linux-vfio: (30 commits)
        vfio-pci: Fix use after free
        vfio-pci: Move idle devices to D3hot power state
        vfio-pci: Remove warning if try-reset fails
        vfio-pci: Allow PCI IDs to be specified as module options
        vfio-pci: Add VGA arbiter client
        vfio-pci: Add module option to disable VGA region access
        vgaarb: Stub vga_set_legacy_decoding()
        vfio: Split virqfd into a separate module for vfio bus drivers
        vfio: virqfd_lock can be static
        vfio: put off the allocation of "minor" in vfio_create_group
        vfio/platform: implement IRQ masking/unmasking via an eventfd
        vfio: initialize the virqfd workqueue in VFIO generic code
        vfio: move eventfd support code for VFIO_PCI to a separate file
        vfio: pass an opaque pointer on virqfd initialization
        vfio: add local lock for virqfd instead of depending on VFIO PCI
        vfio: virqfd: rename vfio_pci_virqfd_init and vfio_pci_virqfd_exit
        vfio: add a vfio_ prefix to virqfd_enable and virqfd_disable and export
        vfio/platform: support for level sensitive interrupts
        vfio/platform: trigger an interrupt via eventfd
        vfio/platform: initial interrupts support code
        ...
      8c194f3b
    • L
      Merge tag 'pinctrl-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 07e492eb
      Linus Torvalds 提交于
      Pull pincontrol updates from Linus Walleij:
       "This is the bulk of pin control changes for the v4.1 development
        cycle.  Nothing really exciting this time: we basically added a few
        new drivers and subdrivers and stabilized them in linux-next.  Some
        cleanups too.  With sunrisepoint Intel has a real fine fully featured
        pin control driver for contemporary hardware, and the AMD driver is
        also for large deployments.  Most of the others are ARM devices.
      
        New drivers:
          - Intel Sunrisepoint
          - AMD KERNCZ GPIO
          - Broadcom Cygnus IOMUX
      
        New subdrivers:
          - Marvell MVEBU Armada 39x SoCs
          - Samsung Exynos 5433
          - nVidia Tegra 210
          - Mediatek MT8135
          - Mediatek MT8173
          - AMLogic Meson8b
          - Qualcomm PM8916
      
        On top of this cleanups and development history for the above drivers
        as issues were fixed after merging"
      
      * tag 'pinctrl-v4.1-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (71 commits)
        pinctrl: sirf: move sgpio lock into state container
        pinctrl: Add support for PM8916 GPIO's and MPP's
        pinctrl: bcm2835: Fix support for threaded level triggered IRQs
        sh-pfc: r8a7790: add EtherAVB pin groups
        pinctrl: Document "function" + "pins" pinmux binding
        pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support
        pinctrl: fsl: imx: Check for 0 config register
        pinctrl: Add support for Meson8b
        documentation: Extend pinctrl docs for Meson8b
        pinctrl: Cleanup Meson8 driver
        Fix inconsistent spinlock of AMD GPIO driver which can be recognized by static analysis tool smatch. Declare constant Variables with Sparse's suggestion.
        pinctrl: at91: convert __raw to endian agnostic IO
        pinctrl: constify of_device_id array
        pinctrl: pinconf-generic: add dt node names to error messages
        pinctrl: pinconf-generic: scan also referenced phandle node
        pinctrl: mvebu: add suspend/resume support to Armada XP pinctrl driver
        pinctrl: st: Display pin's function when printing pinctrl debug information
        pinctrl: st: Show correct pin direction also in GPIO mode
        pinctrl: st: Supply a GPIO get_direction() call-back
        pinctrl: st: Move st_get_pio_control() further up the source file
        ...
      07e492eb
    • L
      Merge tag 'backlight-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · b240452a
      Linus Torvalds 提交于
      Pull backlight updates from Lee Jones:
       "Changes to existing drivers:
      
         - Use of_get_child_by_name() instead of refcount; 88pm860x_bl
      
         - Terminate array with NULL element; da9052_bl"
      
      * tag 'backlight-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: da9052_bl: Terminate da9052_wled_ids array with empty element
        backlight: 88pm860x_bl: Use of_get_child_by_name() instead of refcount hack
      b240452a
    • L
      Merge tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · f0c1bc95
      Linus Torvalds 提交于
      Pull MFD updates from Lee Jones:
       "Changes to existing drivers:
      
         - Rename child driver [axp288_battery => axp288_fuel_gauge]; axp20x
         - Rename child driver [max77693-flash => max77693-led]; max77693
         - Error handling fixes; intel_soc_pmic
         - GPIO tweaking; intel_soc_pmic
         - Remove non-DT code; vexpress-sysreg, tc3589x
         - Remove unused/legacy code; ti_am335x_tscadc, rts5249, rtsx_gops, rtsx_pcr,
                                      rtc-s5m, sec-core, max77693, menelaus,
                                      wm5102-tables
         - Trivial fixups; rtsx_pci, da9150-core, sec-core, max7769, max77693,
                           mc13xxx-core, dln2, hi6421-pmic-core, rk808, twl4030-power,
                           lpc_ich, menelaus, twl6040
         - Update register/address values; rts5227, rts5249
         - DT and/or binding document fixups; arizona, da9150, mt6397, axp20x,
                                              qcom-rpm, qcom-spmi-pmic
         - Couple of trivial core Kconfig fixups
         - Remove use of seq_printf return value; ab8500-debugfs
         - Remove __exit markups; menelaus, tps65010
         - Fix platform-device name collisions; mfd-core
      
        New drivers/supported devices:
      
         - Add support for wm8280/wm8281 into arizona
         - Add support for COMe-cBL6 into kempld-core
         - Add support for rts524a and rts525a into rts5249
         - Add support for ipq8064 into qcom_rpm
         - Add support for extcon into axp20x
         - New MediaTek MT6397 PMIC driver
         - New Maxim MAX77843 PMIC dirver
         - New Intel Quark X1000 I2C-GPIO driver
         - New Skyworks SKY81452 driver"
      
      * tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits)
        mfd: sec: Fix RTC alarm interrupt number on S2MPS11
        mfd: wm5102: Remove registers for output 3R from readable list
        mfd: tps65010: Remove incorrect __exit markups
        mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
        mfd: axp20x: Add support for extcon cell
        mfd: lpc_ich: Sort IDs
        mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias
        mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's
        mfd: axp20x: Fix duplicate const for model names
        mfd: menelaus: Use macro for magic number
        mfd: menelaus: Drop support for SW controller VCORE
        mfd: menelaus: Delete omap_has_menelaus
        mfd: arizona: Correct type of gpio_defaults
        mfd: lpc_ich: Sort IDs
        mfd: Fix a typo in Kconfig
        mfd: qcom_rpm: Add support for IPQ8064
        mfd: devicetree: qcom_rpm: Document IPQ8064 resources
        mfd: core: Fix platform-device name collisions
        mfd: intel_quark_i2c_gpio: Don't crash if !DMI
        dt-bindings: Add vendor-prefix for X-Powers
        ...
      f0c1bc95
    • L
      Merge branch 'akpm' (patches from Andrew) · 1dcf58d6
      Linus Torvalds 提交于
      Merge first patchbomb from Andrew Morton:
      
       - arch/sh updates
      
       - ocfs2 updates
      
       - kernel/watchdog feature
      
       - about half of mm/
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (122 commits)
        Documentation: update arch list in the 'memtest' entry
        Kconfig: memtest: update number of test patterns up to 17
        arm: add support for memtest
        arm64: add support for memtest
        memtest: use phys_addr_t for physical addresses
        mm: move memtest under mm
        mm, hugetlb: abort __get_user_pages if current has been oom killed
        mm, mempool: do not allow atomic resizing
        memcg: print cgroup information when system panics due to panic_on_oom
        mm: numa: remove migrate_ratelimited
        mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE
        mm: split ET_DYN ASLR from mmap ASLR
        s390: redefine randomize_et_dyn for ELF_ET_DYN_BASE
        mm: expose arch_mmap_rnd when available
        s390: standardize mmap_rnd() usage
        powerpc: standardize mmap_rnd() usage
        mips: extract logic for mmap_rnd()
        arm64: standardize mmap_rnd() usage
        x86: standardize mmap_rnd() usage
        arm: factor out mmap ASLR into mmap_rnd
        ...
      1dcf58d6
    • V
      Documentation: update arch list in the 'memtest' entry · e4b0db72
      Vladimir Murzin 提交于
      Since arm64/arm support memtest command line option update the "memtest"
      entry.
      Signed-off-by: NVladimir Murzin <vladimir.murzin@arm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e4b0db72
    • V
      Kconfig: memtest: update number of test patterns up to 17 · 8d8cfb47
      Vladimir Murzin 提交于
      Additional test patterns for memtest were introduced since commit
      63823126 ("x86: memtest: add additional (regular) test patterns"),
      but looks like Kconfig was not updated that time.
      
      Update Kconfig entry with the actual number of maximum test patterns.
      Signed-off-by: NVladimir Murzin <vladimir.murzin@arm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8d8cfb47
    • V
      arm: add support for memtest · d30eae47
      Vladimir Murzin 提交于
      Add support for memtest command line option.
      Signed-off-by: NVladimir Murzin <vladimir.murzin@arm.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d30eae47
    • V
      arm64: add support for memtest · 36dd9086
      Vladimir Murzin 提交于
      Add support for memtest command line option.
      Signed-off-by: NVladimir Murzin <vladimir.murzin@arm.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Tested-by: NMark Rutland <mark.rutland@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      36dd9086
    • V
      memtest: use phys_addr_t for physical addresses · 7f70baee
      Vladimir Murzin 提交于
      Since memtest might be used by other architectures pass input parameters
      as phys_addr_t instead of long to prevent overflow.
      Signed-off-by: NVladimir Murzin <vladimir.murzin@arm.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Tested-by: NMark Rutland <mark.rutland@arm.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7f70baee
    • V
      mm: move memtest under mm · 4a20799d
      Vladimir Murzin 提交于
      Memtest is a simple feature which fills the memory with a given set of
      patterns and validates memory contents, if bad memory regions is detected
      it reserves them via memblock API.  Since memblock API is widely used by
      other architectures this feature can be enabled outside of x86 world.
      
      This patch set promotes memtest to live under generic mm umbrella and
      enables memtest feature for arm/arm64.
      
      It was reported that this patch set was useful for tracking down an issue
      with some errant DMA on an arm64 platform.
      
      This patch (of 6):
      
      There is nothing platform dependent in the core memtest code, so other
      platforms might benefit from this feature too.
      
      [linux@roeck-us.net: MEMTEST depends on MEMBLOCK]
      Signed-off-by: NVladimir Murzin <vladimir.murzin@arm.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Tested-by: NMark Rutland <mark.rutland@arm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Paul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4a20799d
    • D
      mm, hugetlb: abort __get_user_pages if current has been oom killed · 02057967
      David Rientjes 提交于
      If __get_user_pages() is faulting a significant number of hugetlb pages,
      usually as the result of mmap(MAP_LOCKED), it can potentially allocate a
      very large amount of memory.
      
      If the process has been oom killed, this will cause a lot of memory to
      potentially deplete memory reserves.
      
      In the same way that commit 4779280d ("mm: make get_user_pages()
      interruptible") aborted for pending SIGKILLs when faulting non-hugetlb
      memory, based on the premise of commit 462e00cc ("oom: stop
      allocating user memory if TIF_MEMDIE is set"), hugetlb page faults now
      terminate when the process has been oom killed.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Acked-by: NRik van Riel <riel@redhat.com>
      Acked-by: NGreg Thelen <gthelen@google.com>
      Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Acked-by: NDavidlohr Bueso <dave@stgolabs.net>
      Acked-by: N"Kirill A. Shutemov" <kirill@shutemov.name>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      02057967
    • D
      mm, mempool: do not allow atomic resizing · 11d83360
      David Rientjes 提交于
      Allocating a large number of elements in atomic context could quickly
      deplete memory reserves, so just disallow atomic resizing entirely.
      
      Nothing currently uses mempool_resize() with anything other than
      GFP_KERNEL, so convert existing callers to drop the gfp_mask.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Acked-by: Steffen Maier <maier@linux.vnet.ibm.com>	[zfcp]
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Steve French <sfrench@samba.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      11d83360
    • B
      memcg: print cgroup information when system panics due to panic_on_oom · 2415b9f5
      Balasubramani Vivekanandan 提交于
      If kernel panics due to oom, caused by a cgroup reaching its limit, when
      'compulsory panic_on_oom' is enabled, then we will only see that the OOM
      happened because of "compulsory panic_on_oom is enabled" but this doesn't
      tell the difference between mempolicy and memcg.  And dumping system wide
      information is plain wrong and more confusing.  This patch provides the
      information of the cgroup whose limit triggerred panic
      Signed-off-by: NBalasubramani Vivekanandan <balasubramani_vivekanandan@mentor.com>
      Acked-by: NMichal Hocko <mhocko@suse.cz>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2415b9f5