1. 22 3月, 2017 9 次提交
    • H
      s390/pkey: Fix wrong handling of secure key with old MKVP · ca681ec8
      Harald Freudenberger 提交于
      When a secure key with an old Master Key Verification
      Pattern was given to the pkey_findcard function, there was
      no responsible card found because only the current MKVP of
      each card was compared. With this fix also the old MKVP
      values are considered and so a matching card able to handle
      the key is reported back to the caller.
      Signed-off-by: NHarald Freudenberger <freude@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      ca681ec8
    • H
      s390/smp: fix ipl from cpu with non-zero address · 0861b5a7
      Heiko Carstens 提交于
      Commit af51160e ("s390/smp: initialize cpu_present_mask in
      setup_arch") initializes the cpu_present_mask much earlier than
      before. However the cpu detection code relies on the fact that iff
      logical cpu 0 is marked present then also the corresponding physical
      cpu address within the pcpu_devices array slot is valid.
      
      Since commit 44fd2299 ("[PATCH] Register the boot-cpu in the cpu
      maps earlier") this assumption is not true anymore. The patch marks
      logical cpu 0 as present in common code without that architecture code
      had a chance to setup the logical to physical map.
      
      With that change the cpu detection code assumes that the physical cpu
      address of cpu 0 is also 0, which is not necessarily true.
      Subsequently the physical cpu address of the ipl cpu will be mapped to
      a different logical cpu. If that cpu is brought online later the ipl
      cpu will send itself an initial cpu reset sigp signal. This in turn
      completely resets the ipl cpu and the system stops working.
      
      A dump of such a system looks like a "store status" has been
      forgotten. But actually the kernel itself removed all traces which
      would allow to easily tell what went wrong.
      
      To fix this initialize the logical to physical cpu address already in
      smp_setup_processor_id(). In addition remove the initialization of the
      cpu_present_mask and cpu_online_mask for cpu 0, since that has already
      been done. Also add a sanity check, just in case common code will be
      changed again...
      
      The problem can be easily reproduced within a z/VM guest:
      
      > chcpu -d 0
      > vmcp ipl
      
      Fixes: af51160e ("s390/smp: initialize cpu_present_mask in setup_arch")
      Reported-by: NSebastian Ott <sebott@linux.vnet.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      0861b5a7
    • M
      s390/decompressor: fix initrd corruption caused by bss clear · d82c0d12
      Marcelo Henrique Cerri 提交于
      Reorder the operations in decompress_kernel() to ensure initrd is moved
      to a safe location before the bss section is zeroed.
      
      During decompression bss can overlap with the initrd and this can
      corrupt the initrd contents depending on the size of the compressed
      kernel (which affects where the initrd is placed by the bootloader) and
      the size of the bss section of the decompressor.
      
      Also use the correct initrd size when checking for overlaps with
      parmblock.
      
      Fixes: 06c0dd72 ([S390] fix boot failures with compressed kernels)
      Cc: stable@vger.kernel.org
      Reviewed-by: NJoy Latten <joy.latten@canonical.com>
      Reviewed-by: NVineetha HariPai <vineetha.hari.pai@canonical.com>
      Signed-off-by: NMarcelo Henrique Cerri <marcelo.cerri@canonical.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      d82c0d12
    • H
      mm, swap: Remove WARN_ON_ONCE() in free_swap_slot() · 093b995e
      Huang Ying 提交于
      Before commit 452b94b8 ("mm/swap: don't BUG_ON() due to
      uninitialized swap slot cache"), the following bug is reported,
      
        ------------[ cut here ]------------
        kernel BUG at mm/swap_slots.c:270!
        invalid opcode: 0000 [#1] SMP
        CPU: 5 PID: 1745 Comm: (sd-pam) Not tainted 4.11.0-rc1-00243-g24c534bb #1
        Hardware name: System manufacturer System Product Name/Z170-K, BIOS 1803 05/06/2016
        RIP: 0010:free_swap_slot+0xba/0xd0
        Call Trace:
         swap_free+0x36/0x40
         do_swap_page+0x360/0x6d0
         __handle_mm_fault+0x880/0x1080
         handle_mm_fault+0xd0/0x240
         __do_page_fault+0x232/0x4d0
         do_page_fault+0x20/0x70
         page_fault+0x22/0x30
        ---[ end trace aefc9ede53e0ab21 ]---
      
      This is raised by the BUG_ON(!swap_slot_cache_initialized) in
      free_swap_slot().  This is incorrect, because even if the swap slots
      cache fails to be initialized, the swap should operate properly without
      the swap slots cache.  And the use_swap_slot_cache check later in the
      function will protect the uninitialized swap slots cache case.
      
      In commit 452b94b8, the BUG_ON() is replaced by WARN_ON_ONCE().  In
      the patch, the WARN_ON_ONCE() is removed too.
      Reported-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Acked-by: NTim Chen <tim.c.chen@linux.intel.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Signed-off-by: N"Huang, Ying" <ying.huang@intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      093b995e
    • L
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 1f020713
      Linus Torvalds 提交于
      Pull SCSI fixes from James Bottomley:
       "Nine small fixes: the biggest is probably finally sorting out Kconfig
        issues with lpfc nvme.  There are some performance fixes for megaraid
        and hpsa and a static checker fix"
      
      [ Johannes Thumshirn points out that there still seems to be more lpfc
        vs nvme config issues.  Oh well.   - Linus ]
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: lpfc: Finalize Kconfig options for nvme
        scsi: ufs: don't check unsigned type for a negative value
        scsi: hpsa: do not timeout reset operations
        scsi: hpsa: limit outstanding rescans
        scsi: hpsa: update check for logical volume status
        scsi: megaraid_sas: Driver version upgrade
        scsi: megaraid_sas: raid6 also require cpuSel check same as raid5
        scsi: megaraid_sas: add correct return type check for ldio hint logic for raid1
        scsi: megaraid_sas: enable intx only if msix request fails
      1f020713
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 2c867ac3
      Linus Torvalds 提交于
      Pull HID fixes from Jiri Kosina:
      
       - regression fixes for Wacom devices, from Aaron Armstrong Skomra and
         Ping Cheng
      
       - memory leak in hid-sony driver from Roderick Colenbrander
      
       - new device IDs support from Oscar Campos and Daniel Drake
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: wacom: generic: Wacom mouse is only provided for opaque tablets
        HID: corsair: Add driver Scimitar Pro RGB gaming mouse 1b1c:1b3e support to hid-corsair
        HID: corsair: support for K65-K70 Rapidfire and Scimitar Pro RGB
        HID: wacom: don't manually release resources for the EKR
        HID: wacom: Correct Intuos Pro 2 resolution
        HID: sony: Fix input device leak when connecting a DS4 twice using USB/BT
        HID: chicony: Add support for another ASUS Zen AiO keyboard
      2c867ac3
    • L
      Merge tag 'gpio-v4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 47191777
      Linus Torvalds 提交于
      Pull GPIO fixes from Linus Walleij:
       "Here is the first set of GPIO fixes for 4.11. It was delayed a bit
        beacuse I was chicken when linux-next was not rotating last week.
      
        This hits the ST serial driver in drivers/tty/serial and that has an
        ACK from Greg, he suggested to keep the old GPIO fwnode API around to
        smoothen things in the merge Windod and those have now served their
        purpose so we take them out and convert the last driver to the new
        API.
      
        Apart from that it's fixes as usual.
      
        Summary:
      
         - set the parent on the Altera A10SR driver, also fix high level
           IRQs.
      
         - fix error path on the mockup driver.
      
         - compilation noise about unused functions fixed.
      
         - fix missed interrupts on the MCP23S08 expander, this is also tagged
           for stable.
      
         - retire the interrim helpers devm_get_gpiod_from_child() used to
           smoothen merging in the merge window"
      
      * tag 'gpio-v4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio:mcp23s08 Fixed missing interrupts
        serial: st-asc: Use new GPIOD API to obtain RTS pin
        gpio: altera: Use handle_level_irq when configured as a level_high
        gpio: xgene: mark PM functions as __maybe_unused
        gpio: mockup: return -EFAULT if copy_from_user() fails
        gpio: altera-a10sr: Set gpio_chip parent property
      47191777
    • L
      Merge tag 'rproc-v4.11-fixes' of git://github.com/andersson/remoteproc · 8a011508
      Linus Torvalds 提交于
      Pull remoteproc fix from Bjorn Andersson:
       "This fixes a Kbuild dependency issue related to the Qualcomm
        remoteproc drivers"
      
      * tag 'rproc-v4.11-fixes' of git://github.com/andersson/remoteproc:
        remoteproc: qcom: fix QCOM_SMD dependencies
      8a011508
    • L
      Merge tag 'for-f2fs-4.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 689b957b
      Linus Torvalds 提交于
      Pull f2fs fixes from Jaegeuk Kim:
      
       - fix performance regression reported by lkp-rebot
      
       - fix potential data lost after power-cut due to SSR reallocation
      
      * tag 'for-f2fs-4.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:
        f2fs: combine nat_bits and free_nid_bitmap cache
        f2fs: skip scanning free nid bitmap of full NAT blocks
        f2fs: use __set{__clear}_bit_le
        f2fs: declare static functions
        f2fs: don't overwrite node block by SSR
      689b957b
  2. 21 3月, 2017 6 次提交
  3. 20 3月, 2017 11 次提交
    • C
      f2fs: combine nat_bits and free_nid_bitmap cache · 7041d5d2
      Chao Yu 提交于
      Both nat_bits cache and free_nid_bitmap cache provide same functionality
      as a intermediate cache between free nid cache and disk, but with
      different granularity of indicating free nid range, and different
      persistence policy. nat_bits cache provides better persistence ability,
      and free_nid_bitmap provides better granularity.
      
      In this patch we combine advantage of both caches, so finally policy of
      the intermediate cache would be:
      - init: load free nid status from nat_bits into free_nid_bitmap
      - lookup: scan free_nid_bitmap before load NAT blocks
      - update: update free_nid_bitmap in real-time
      - persistence: udpate and persist nat_bits in checkpoint
      
      This patch also resolves performance regression reported by lkp-robot.
      
      commit:
        4ac91242 ("f2fs: introduce free nid bitmap")
        d00030cf9cd0bb96fdccc41e33d3c91dcbb672ba ("f2fs: use __set{__clear}_bit_le")
        1382c0f3f9d3f936c8bc42ed1591cf7a593ef9f7 ("f2fs: combine nat_bits and free_nid_bitmap cache")
      
      4ac91242 d00030cf9cd0bb96fdccc41e33 1382c0f3f9d3f936c8bc42ed15
      ---------------- -------------------------- --------------------------
               %stddev     %change         %stddev     %change         %stddev
                   \          |                \          |                \
           77863 ±  0%      +2.1%      79485 ±  1%     +50.8%     117404 ±  0%  aim7.jobs-per-min
          231.63 ±  0%      -2.0%     227.01 ±  1%     -33.6%     153.80 ±  0%  aim7.time.elapsed_time
          231.63 ±  0%      -2.0%     227.01 ±  1%     -33.6%     153.80 ±  0%  aim7.time.elapsed_time.max
          896604 ±  0%      -0.8%     889221 ±  3%     -20.2%     715260 ±  1%  aim7.time.involuntary_context_switches
            2394 ±  1%      +4.6%       2503 ±  1%      +3.7%       2481 ±  2%  aim7.time.maximum_resident_set_size
            6240 ±  0%      -1.5%       6145 ±  1%     -14.1%       5360 ±  1%  aim7.time.system_time
         1111357 ±  3%      +1.9%    1132509 ±  2%      -6.2%    1041932 ±  2%  aim7.time.voluntary_context_switches
      ...
      Signed-off-by: NChao Yu <yuchao0@huawei.com>
      Tested-by: NXiaolong Ye <xiaolong.ye@intel.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      7041d5d2
    • C
      f2fs: skip scanning free nid bitmap of full NAT blocks · 586d1492
      Chao Yu 提交于
      This patch adds to account free nids for each NAT blocks, and while
      scanning all free nid bitmap, do check count and skip lookuping in
      full NAT block.
      Signed-off-by: NChao Yu <yuchao0@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      586d1492
    • J
      f2fs: use __set{__clear}_bit_le · 23380b85
      Jaegeuk Kim 提交于
      This patch uses __set{__clear}_bit_le for highter speed.
      Reviewed-by: NChao Yu <yuchao0@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      23380b85
    • J
      f2fs: declare static functions · 9f7e4a2c
      Jaegeuk Kim 提交于
      This is to avoid build warning reported by kbuild test robot.
      Signed-off-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      9f7e4a2c
    • J
      f2fs: don't overwrite node block by SSR · 720037f9
      Jaegeuk Kim 提交于
      This patch fixes that SSR can overwrite previous warm node block consisting of
      a node chain since the last checkpoint.
      
      Fixes: 5b6c6be2 ("f2fs: use SSR for warm node as well")
      Reviewed-by: NChao Yu <yuchao0@huawei.com>
      Signed-off-by: NJaegeuk Kim <jaegeuk@kernel.org>
      720037f9
    • L
      Linux 4.11-rc3 · 97da3854
      Linus Torvalds 提交于
      97da3854
    • L
      mm/swap: don't BUG_ON() due to uninitialized swap slot cache · 452b94b8
      Linus Torvalds 提交于
      This BUG_ON() triggered for me once at shutdown, and I don't see a
      reason for the check.  The code correctly checks whether the swap slot
      cache is usable or not, so an uninitialized swap slot cache is not
      actually problematic afaik.
      
      I've temporarily just switched the BUG_ON() to a WARN_ON_ONCE(), since
      I'm not sure why that seemingly pointless check was there.  I suspect
      the real fix is to just remove it entirely, but for now we'll warn about
      it but not bring the machine down.
      
      Cc: "Huang, Ying" <ying.huang@intel.com>
      Cc: Tim Chen <tim.c.chen@linux.intel.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      452b94b8
    • L
      Merge tag 'powerpc-4.11-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · a07a6e41
      Linus Torvalds 提交于
      Pull more powerpc fixes from Michael Ellerman:
       "A couple of minor powerpc fixes for 4.11:
      
         - wire up statx() syscall
      
         - don't print a warning on memory hotplug when HPT resizing isn't
           available
      
        Thanks to: David Gibson, Chandan Rajendra"
      
      * tag 'powerpc-4.11-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/pseries: Don't give a warning when HPT resizing isn't available
        powerpc: Wire up statx() syscall
      a07a6e41
    • L
      Merge branch 'parisc-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 4571bc5a
      Linus Torvalds 提交于
      Pull parisc fixes from Helge Deller:
      
       - Mikulas Patocka added support for R_PARISC_SECREL32 relocations in
         modules with CONFIG_MODVERSIONS.
      
       - Dave Anglin optimized the cache flushing for vmap ranges.
      
       - Arvind Yadav provided a fix for a potential NULL pointer dereference
         in the parisc perf code (and some code cleanups).
      
       - I wired up the new statx system call, fixed some compiler warnings
         with the access_ok() macro and fixed shutdown code to really halt a
         system at shutdown instead of crashing & rebooting.
      
      * 'parisc-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fix system shutdown halt
        parisc: perf: Fix potential NULL pointer dereference
        parisc: Avoid compiler warnings with access_ok()
        parisc: Wire up statx system call
        parisc: Optimize flush_kernel_vmap_range and invalidate_kernel_vmap_range
        parisc: support R_PARISC_SECREL32 relocation in modules
      4571bc5a
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 8aa34172
      Linus Torvalds 提交于
      Pull SCSI target fixes from Nicholas Bellinger:
       "The bulk of the changes are in qla2xxx target driver code to address
        various issues found during Cavium/QLogic's internal testing (stable
        CC's included), along with a few other stability and smaller
        miscellaneous improvements.
      
        There are also a couple of different patch sets from Mike Christie,
        which have been a result of his work to use target-core ALUA logic
        together with tcm-user backend driver.
      
        Finally, a patch to address some long standing issues with
        pass-through SCSI export of TYPE_TAPE + TYPE_MEDIUM_CHANGER devices,
        which will make folks using physical (or virtual) magnetic tape happy"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (28 commits)
        qla2xxx: Update driver version to 9.00.00.00-k
        qla2xxx: Fix delayed response to command for loop mode/direct connect.
        qla2xxx: Change scsi host lookup method.
        qla2xxx: Add DebugFS node to display Port Database
        qla2xxx: Use IOCB interface to submit non-critical MBX.
        qla2xxx: Add async new target notification
        qla2xxx: Export DIF stats via debugfs
        qla2xxx: Improve T10-DIF/PI handling in driver.
        qla2xxx: Allow relogin to proceed if remote login did not finish
        qla2xxx: Fix sess_lock & hardware_lock lock order problem.
        qla2xxx: Fix inadequate lock protection for ABTS.
        qla2xxx: Fix request queue corruption.
        qla2xxx: Fix memory leak for abts processing
        qla2xxx: Allow vref count to timeout on vport delete.
        tcmu: Convert cmd_time_out into backend device attribute
        tcmu: make cmd timeout configurable
        tcmu: add helper to check if dev was configured
        target: fix race during implicit transition work flushes
        target: allow userspace to set state to transitioning
        target: fix ALUA transition timeout handling
        ...
      8aa34172
    • L
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 1b8df619
      Linus Torvalds 提交于
      Pull device-dax fixes from Dan Williams:
       "The device-dax driver was not being careful to handle falling back to
        smaller fault-granularity sizes.
      
        The driver already fails fault attempts that are smaller than the
        device's alignment, but it also needs to handle the cases where a
        larger page mapping could be established. For simplicity of the
        immediate fix the implementation just signals VM_FAULT_FALLBACK until
        fault-size == device-alignment.
      
        One fix is for -stable to address pmd-to-pte fallback from the
        original implementation, another fix is for the new (introduced in
        4.11-rc1) pud-to-pmd regression, and a typo fix comes along for the
        ride.
      
        These have received a build success notification from the kbuild
        robot"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        device-dax: fix debug output typo
        device-dax: fix pud fault fallback handling
        device-dax: fix pmd/pte fault fallback handling
      1b8df619
  4. 19 3月, 2017 14 次提交