1. 18 4月, 2017 2 次提交
    • D
      KEYS: Change the name of the dead type to ".dead" to prevent user access · c1644fe0
      David Howells 提交于
      This fixes CVE-2017-6951.
      
      Userspace should not be able to do things with the "dead" key type as it
      doesn't have some of the helper functions set upon it that the kernel
      needs.  Attempting to use it may cause the kernel to crash.
      
      Fix this by changing the name of the type to ".dead" so that it's rejected
      up front on userspace syscalls by key_get_type_from_user().
      
      Though this doesn't seem to affect recent kernels, it does affect older
      ones, certainly those prior to:
      
      	commit c06cfb08
      	Author: David Howells <dhowells@redhat.com>
      	Date:   Tue Sep 16 17:36:06 2014 +0100
      	KEYS: Remove key_type::match in favour of overriding default by match_preparse
      
      which went in before 3.18-rc1.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      cc: stable@vger.kernel.org
      c1644fe0
    • D
      KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings · ee8f844e
      David Howells 提交于
      This fixes CVE-2016-9604.
      
      Keyrings whose name begin with a '.' are special internal keyrings and so
      userspace isn't allowed to create keyrings by this name to prevent
      shadowing.  However, the patch that added the guard didn't fix
      KEYCTL_JOIN_SESSION_KEYRING.  Not only can that create dot-named keyrings,
      it can also subscribe to them as a session keyring if they grant SEARCH
      permission to the user.
      
      This, for example, allows a root process to set .builtin_trusted_keys as
      its session keyring, at which point it has full access because now the
      possessor permissions are added.  This permits root to add extra public
      keys, thereby bypassing module verification.
      
      This also affects kexec and IMA.
      
      This can be tested by (as root):
      
      	keyctl session .builtin_trusted_keys
      	keyctl add user a a @s
      	keyctl list @s
      
      which on my test box gives me:
      
      	2 keys in keyring:
      	180010936: ---lswrv     0     0 asymmetric: Build time autogenerated kernel key: ae3d4a31b82daa8e1a75b49dc2bba949fd992a05
      	801382539: --alswrv     0     0 user: a
      
      
      Fix this by rejecting names beginning with a '.' in the keyctl.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NMimi Zohar <zohar@linux.vnet.ibm.com>
      cc: linux-ima-devel@lists.sourceforge.net
      cc: stable@vger.kernel.org
      ee8f844e
  2. 17 4月, 2017 7 次提交
    • L
      Linux 4.11-rc7 · 4f7d029b
      Linus Torvalds 提交于
      4f7d029b
    • L
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 7395ca0f
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
       "Again, a batch that's been sitting a couple of weeks, mostly because
        I anticipated a bit more material but it didn't show up -- which is
        good.
      
        These are all your garden variety fixes for ARM platforms.
      
        The most visible issue fixed here is probably the SMP reset issue on
        OMAP, the rest are minor stuff"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: allwinner: a64: add pmu0 regs for USB PHY
        ARM: OMAP2+: omap_device: Sync omap_device and pm_runtime after probe defer
        reset: add exported __reset_control_get, return NULL if optional
        ARM: orion5x: only call into phylib when available
        ARM: omap2+: Revert omap-smp.c changes resetting CPU1 during boot
        ARM: dts: am335x-evmsk: adjust mmc2 param to allow suspend
        ARM: dts: ti: fix PCI bus dtc warnings
        ARM: dts: am335x-baltos: disable EEE for Atheros 8035 PHY
        ARM: dts: OMAP3: Fix MFG ID EEPROM
        ARM: sun8i: a33: add operating-points-v2 property to all nodes
        ARM: sun8i: a33: remove highest OPP to fix CPU crashes
      7395ca0f
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · a86f106f
      Linus Torvalds 提交于
      Pull block fixes from Jens Axboe:
       "Four small fixes.
      
        Three of them fix the same error in NVMe, in loop, fc, and rdma
        respectively.  The last fix from Ming fixes a regression in this
        series, where our bvec gap logic was wrong and causes an oops on
        NVMe for certain conditions"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: fix bio_will_gap() for first bvec with offset
        nvme-fc: Fix sqsize wrong assignment based on ctrl MQES capability
        nvme-rdma: Fix sqsize wrong assignment based on ctrl MQES capability
        nvme-loop: Fix sqsize wrong assignment based on ctrl MQES capability
      a86f106f
    • O
      Merge tag 'omap-for-v4.11/fixes-rc6-signed' of... · e2647b6d
      Olof Johansson 提交于
      Merge tag 'omap-for-v4.11/fixes-rc6-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Regression fix for omap interconnect code for deferred probe.
      Without this fix we can get PM related warnings for devices that
      use deferred probe. If necessary, this fix can wait for the
      v4.12 merge window no problem.
      
      * tag 'omap-for-v4.11/fixes-rc6-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP2+: omap_device: Sync omap_device and pm_runtime after probe defer
        ARM: omap2+: Revert omap-smp.c changes resetting CPU1 during boot
        ARM: dts: am335x-evmsk: adjust mmc2 param to allow suspend
        ARM: dts: ti: fix PCI bus dtc warnings
        ARM: dts: am335x-baltos: disable EEE for Atheros 8035 PHY
        ARM: dts: OMAP3: Fix MFG ID EEPROM
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      e2647b6d
    • L
      Merge branch 'for-4.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 11c994d9
      Linus Torvalds 提交于
      Pull cgroup fix from Tejun Heo:
       "Unfortunately, the commit to fix the cgroup mount race in the previous
        pull request can lead to hangs.
      
        The original bug has been around for a while and isn't too likely to
        be triggered in usual use cases. Revert the commit for now"
      
      * 'for-4.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        Revert "cgroup: avoid attaching a cgroup root to two different superblocks"
      11c994d9
    • L
      Merge tag 'tty-4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 032aaf3f
      Linus Torvalds 提交于
      Pull tty fix from Greg KH:
       "Here is a single tty core revert for a patch that was reported to
        cause problems.
      
        The original issue is one that we have lived with for decades, so
        trying to scramble to fix the fix in time for 4.11-final does not make
        sense due to the fragility of the tty ldisc layer. Just reverting it
        makes sense for now"
      
      * tag 'tty-4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        Revert "tty: don't panic on OOM in tty_set_ldisc()"
      032aaf3f
    • L
      Merge tag 'trace-v4.11-rc5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 48538861
      Linus Torvalds 提交于
      Pull ftrace fix from Steven Rostedt:
       "While rewriting the function probe code, I stumbled over a long
        standing bug. This bug has been there sinc function tracing was added
        way back when. But my new development depends on this bug being fixed,
        and it should be fixed regardless as it causes ftrace to disable
        itself when triggered, and a reboot is required to enable it again.
      
        The bug is that the function probe does not disable itself properly if
        there's another probe of its type still enabled. For example:
      
           # cd /sys/kernel/debug/tracing
           # echo schedule:traceoff > set_ftrace_filter
           # echo do_IRQ:traceoff > set_ftrace_filter
           # echo \!do_IRQ:traceoff > /debug/tracing/set_ftrace_filter
           # echo do_IRQ:traceoff > set_ftrace_filter
      
        The above registers two traceoff probes (one for schedule and one for
        do_IRQ, and then removes do_IRQ.
      
        But since there still exists one for schedule, it is not done
        properly. When adding do_IRQ back, the breakage in the accounting is
        noticed by the ftrace self tests, and it causes a warning and disables
        ftrace"
      
      * tag 'trace-v4.11-rc5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Fix removing of second function probe
      48538861
  3. 16 4月, 2017 6 次提交
    • T
      Revert "cgroup: avoid attaching a cgroup root to two different superblocks" · 330c4186
      Tejun Heo 提交于
      This reverts commit bfb0b80d.
      
      Andrei reports CRIU test hangs with the patch applied.  The bug fixed
      by the patch isn't too likely to trigger in actual uses.  Revert the
      patch for now.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NAndrei Vagin <avagin@virtuozzo.com>
      Link: http://lkml.kernel.org/r/20170414232737.GC20350@outlook.office365.com
      330c4186
    • L
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · d5ff0814
      Linus Torvalds 提交于
      Pull nvdimm fixes from Dan Williams:
       "A small crop of lockdep, sleeping while atomic, and other fixes /
        band-aids in advance of the full-blown reworks targeting the next
        merge window. The largest change here is "libnvdimm: fix blk free
        space accounting" which deletes a pile of buggy code that better
        testing would have caught before merging. The next change that is
        borderline too big for a late rc is switching the device-dax locking
        from rcu to srcu, I couldn't think of a smaller way to make that fix.
      
        The __copy_user_nocache fix will have a full replacement in 4.12 to
        move those pmem special case considerations into the pmem driver. The
        "libnvdimm: band aid btt vs clear poison locking" commit admits that
        our error clearing support for btt went in broken, so we just disable
        it in 4.11 and -stable. A replacement / full fix is in the pipeline
        for 4.12
      
        Some of these would have been caught earlier had DEBUG_ATOMIC_SLEEP
        been enabled on my development station. I wonder if we should have:
      
            config DEBUG_ATOMIC_SLEEP
              default PROVE_LOCKING
      
        ...since I mistakenly thought I got both with PROVE_LOCKING=y.
      
        These have received a build success notification from the 0day robot,
        and some have appeared in a -next release with no reported issues"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        x86, pmem: fix broken __copy_user_nocache cache-bypass assumptions
        device-dax: switch to srcu, fix rcu_read_lock() vs pte allocation
        libnvdimm: band aid btt vs clear poison locking
        libnvdimm: fix reconfig_mutex, mmap_sem, and jbd2_handle lockdep splat
        libnvdimm: fix blk free space accounting
        acpi, nfit, libnvdimm: fix interleave set cookie calculation (64-bit comparison)
      d5ff0814
    • L
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 403a39f8
      Linus Torvalds 提交于
      Pull SCSI fixes from James Bottomley:
       "This is seven small fixes which are all for user visible issues that
        fortunately only occur in rare circumstances.
      
        The most serious is the sr one in which QEMU can cause us to read
        beyond the end of a buffer (I don't think it's exploitable, but just
        in case).
      
        The next is the sd capacity fix which means all non 512 byte sector
        drives greater than 2TB fail to be correctly sized.
      
        The rest are either in new drivers (qedf) or on error legs"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: ipr: do not set DID_PASSTHROUGH on CHECK CONDITION
        scsi: aacraid: fix PCI error recovery path
        scsi: sd: Fix capacity calculation with 32-bit sector_t
        scsi: qla2xxx: Add fix to read correct register value for ISP82xx.
        scsi: qedf: Fix crash due to unsolicited FIP VLAN response.
        scsi: sr: Sanity check returned mode data
        scsi: sd: Consider max_xfer_blocks if opt_xfer_blocks is unusable
      403a39f8
    • L
      Merge branch 'parisc-4.11-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · be84a46c
      Linus Torvalds 提交于
      Pull parisc fix from Helge Deller:
       "Mikulas Patocka fixed a few bugs in our new pa_memcpy() assembler
        function, e.g. one bug made the kernel unbootable if source and
        destination address are the same"
      
      * 'parisc-4.11-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: fix bugs in pa_memcpy
      be84a46c
    • M
      orangefs: free superblock when mount fails · 1ec1688c
      Martin Brandenburg 提交于
      Otherwise lockdep says:
      
      [ 1337.483798] ================================================
      [ 1337.483999] [ BUG: lock held when returning to user space! ]
      [ 1337.484252] 4.11.0-rc6 #19 Not tainted
      [ 1337.484423] ------------------------------------------------
      [ 1337.484626] mount/14766 is leaving the kernel with locks still held!
      [ 1337.484841] 1 lock held by mount/14766:
      [ 1337.485017]  #0:  (&type->s_umount_key#33/1){+.+.+.}, at: [<ffffffff8124171f>] sget_userns+0x2af/0x520
      
      Caught by xfstests generic/413 which tried to mount with the unsupported
      mount option dax.  Then xfstests generic/422 ran sync which deadlocks.
      Signed-off-by: NMartin Brandenburg <martin@omnibond.com>
      Acked-by: NMike Marshall <hubcap@omnibond.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1ec1688c
    • L
      vfs: don't do RCU lookup of empty pathnames · c0eb027e
      Linus Torvalds 提交于
      Normal pathname lookup doesn't allow empty pathnames, but using
      AT_EMPTY_PATH (with name_to_handle_at() or fstatat(), for example) you
      can trigger an empty pathname lookup.
      
      And not only is the RCU lookup in that case entirely unnecessary
      (because we'll obviously immediately finalize the end result), it is
      actively wrong.
      
      Why? An empth path is a special case that will return the original
      'dirfd' dentry - and that dentry may not actually be RCU-free'd,
      resulting in a potential use-after-free if we were to initialize the
      path lazily under the RCU read lock and depend on complete_walk()
      finalizing the dentry.
      
      Found by syzkaller and KASAN.
      Reported-by: NDmitry Vyukov <dvyukov@google.com>
      Reported-by: NVegard Nossum <vegard.nossum@gmail.com>
      Acked-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c0eb027e
  4. 15 4月, 2017 14 次提交
    • M
      parisc: fix bugs in pa_memcpy · 409c1b25
      Mikulas Patocka 提交于
      The patch 554bfece ("parisc: Fix access
      fault handling in pa_memcpy()") reimplements the pa_memcpy function.
      Unfortunatelly, it makes the kernel unbootable. The crash happens in the
      function ide_complete_cmd where memcpy is called with the same source
      and destination address.
      
      This patch fixes a few bugs in pa_memcpy:
      
      * When jumping to .Lcopy_loop_16 for the first time, don't skip the
        instruction "ldi 31,t0" (this bug made the kernel unbootable)
      * Use the COND macro when comparing length, so that the comparison is
        64-bit (a theoretical issue, in case the length is greater than
        0xffffffff)
      * Don't use the COND macro after the "extru" instruction (the PA-RISC
        specification says that the upper 32-bits of extru result are undefined,
        although they are set to zero in practice)
      * Fix exception addresses in .Lcopy16_fault and .Lcopy8_fault
      * Rename .Lcopy_loop_4 to .Lcopy_loop_8 (so that it is consistent with
        .Lcopy8_fault)
      
      Cc: <stable@vger.kernel.org> # v4.9+
      Fixes: 554bfece ("parisc: Fix access fault handling in pa_memcpy()")
      Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: NHelge Deller <deller@gmx.de>
      409c1b25
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 1bf4b126
      Linus Torvalds 提交于
      Pull input fixes from Dmitry Torokhov:
       "Just a small update to xpad driver to recognize yet another gamepad,
        and another change making sure userio.h is exported"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: xpad - add support for Razer Wildcat gamepad
        uapi: add missing install of userio.h
      1bf4b126
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 7e703ecc
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
       "Things seem to be settling down as far as networking is concerned,
        let's hope this trend continues...
      
         1) Add iov_iter_revert() and use it to fix the behavior of
            skb_copy_datagram_msg() et al., from Al Viro.
      
         2) Fix the protocol used in the synthetic SKB we cons up for the
            purposes of doing a simulated route lookup for RTM_GETROUTE
            requests. From Florian Larysch.
      
         3) Don't add noop_qdisc to the per-device qdisc hashes, from Cong
            Wang.
      
         4) Don't call netdev_change_features with the team lock held, from
            Xin Long.
      
         5) Revert TCP F-RTO extension to catch more spurious timeouts because
            it interacts very badly with some middle-boxes. From Yuchung
            Cheng.
      
         6) Fix the loss of error values in l2tp {s,g}etsockopt calls, from
            Guillaume Nault.
      
         7) ctnetlink uses bit positions where it should be using bit masks,
            fix from Liping Zhang.
      
         8) Missing RCU locking in netfilter helper code, from Gao Feng.
      
         9) Avoid double frees and use-after-frees in tcp_disconnect(), from
            Eric Dumazet.
      
        10) Don't do a changelink before we register the netdevice in
            bridging, from Ido Schimmel.
      
        11) Lock the ipv6 device address list properly, from Rabin Vincent"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (29 commits)
        netfilter: ipt_CLUSTERIP: Fix wrong conntrack netns refcnt usage
        netfilter: nft_hash: do not dump the auto generated seed
        drivers: net: usb: qmi_wwan: add QMI_QUIRK_SET_DTR for Telit PID 0x1201
        ipv6: Fix idev->addr_list corruption
        net: xdp: don't export dev_change_xdp_fd()
        bridge: netlink: register netdevice before executing changelink
        bridge: implement missing ndo_uninit()
        bpf: reference may_access_skb() from __bpf_prog_run()
        tcp: clear saved_syn in tcp_disconnect()
        netfilter: nf_ct_expect: use proper RCU list traversal/update APIs
        netfilter: ctnetlink: skip dumping expect when nfct_help(ct) is NULL
        netfilter: make it safer during the inet6_dev->addr_list traversal
        netfilter: ctnetlink: make it safer when checking the ct helper name
        netfilter: helper: Add the rcu lock when call __nf_conntrack_helper_find
        netfilter: ctnetlink: using bit to represent the ct event
        netfilter: xt_TCPMSS: add more sanity tests on tcph->doff
        net: tcp: Increase TCP_MIB_OUTRSTS even though fail to alloc skb
        l2tp: don't mask errors in pppol2tp_getsockopt()
        l2tp: don't mask errors in pppol2tp_setsockopt()
        tcp: restrict F-RTO to work-around broken middle-boxes
        ...
      7e703ecc
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 91174391
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
       "A set of small fixes for x86:
      
         - fix locking in RDT to prevent memory leaks and freeing in use
           memory
      
         - prevent setting invalid values for vdso32_enabled which cause
           inconsistencies for user space resulting in application crashes.
      
         - plug a race in the vdso32 code between fork and sysctl which causes
           inconsistencies for user space resulting in application crashes.
      
         - make MPX signal delivery work in compat mode
      
         - make the dmesg output of traps and faults readable again"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel_rdt: Fix locking in rdtgroup_schemata_write()
        x86/debug: Fix the printk() debug output of signal_fault(), do_trap() and do_general_protection()
        x86/vdso: Plug race between mapping and ELF header setup
        x86/vdso: Ensure vdso32_enabled gets set to valid values only
        x86/signals: Fix lower/upper bound reporting in compat siginfo
      91174391
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 07c7016d
      Linus Torvalds 提交于
      Pull perf fixes from Thomas Gleixner:
       "Two small fixes for perf:
      
         - the move to support cross arch annotation introduced per arch
           initialization requirements, fullfill them for s/390 (Christian
           Borntraeger)
      
         - add the missing initialization to the LBR entries to avoid exposing
           random or stale data"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Avoid exposing wrong/stale data in intel_pmu_lbr_read_32()
        perf annotate s390: Fix perf annotate error -95 (4.10 regression)
      07c7016d
    • L
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d295917a
      Linus Torvalds 提交于
      Pull irq fixes from Thomas Gleixner:
       "The irq department provides:
      
         - two fixes for the CPU affinity spread infrastructure to prevent
           unbalanced spreading in corner cases which leads to horrible
           performance, because interrupts are rather aggregated than spread
      
         - add a missing spinlock initializer in the imx-gpcv2 init code"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/irq-imx-gpcv2: Fix spinlock initialization
        irq/affinity: Fix extra vecs calculation
        irq/affinity: Fix CPU spread for unbalanced nodes
      d295917a
    • L
      Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f399ecb4
      Linus Torvalds 提交于
      Pull EFI fixes from Thomas Gleixner:
       "Three fixes from EFI land:
      
         - prevent accessing a Graphic Output Device (GOP) which the kernel
           does not know to handle
      
         - prevent PCI reconfiguration to modify a BAR which covers the
           framebuffer because that's already in use through the EFI GOP
           interface
      
         - avoid reserving EFI runtime regions as this results in bogus memory
           mappings"
      
      * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Don't try to reserve runtime regions
        efi/fb: Avoid reconfiguration of BAR that covers the framebuffer
        efi/libstub: Skip GOP with PIXEL_BLT_ONLY format
      f399ecb4
    • L
      Merge branch 'for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 4b31ac48
      Linus Torvalds 提交于
      Pull btrfs fixes from Chris Mason:
       "Dave Sterba collected a few more fixes for the last rc.
      
        These aren't marked for stable, but I'm putting them in with a batch
        were testing/sending by hand for this release"
      
      * 'for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: fix potential use-after-free for cloned bio
        Btrfs: fix segmentation fault when doing dio read
        Btrfs: fix invalid dereference in btrfs_retry_endio
        btrfs: drop the nossd flag when remounting with -o ssd
      4b31ac48
    • L
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 5466f4df
      Linus Torvalds 提交于
      Pull more CIFS fixes from Steve French:
       "As promised, here is the remaining set of cifs/smb3 fixes for stable
        (and a fix for one regression) now that they have had additional
        review and testing"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        CIFS: Fix SMB3 mount without specifying a security mechanism
        CIFS: store results of cifs_reopen_file to avoid infinite wait
        CIFS: remove bad_network_name flag
        CIFS: reconnect thread reschedule itself
        CIFS: handle guest access errors to Windows shares
        CIFS: Fix null pointer deref during read resp processing
      5466f4df
    • S
      ftrace: Fix removing of second function probe · 82cc4fc2
      Steven Rostedt (VMware) 提交于
      When two function probes are added to set_ftrace_filter, and then one of
      them is removed, the update to the function locations is not performed, and
      the record keeping of the function states are corrupted, and causes an
      ftrace_bug() to occur.
      
      This is easily reproducable by adding two probes, removing one, and then
      adding it back again.
      
       # cd /sys/kernel/debug/tracing
       # echo schedule:traceoff > set_ftrace_filter
       # echo do_IRQ:traceoff > set_ftrace_filter
       # echo \!do_IRQ:traceoff > /debug/tracing/set_ftrace_filter
       # echo do_IRQ:traceoff > set_ftrace_filter
      
      Causes:
       ------------[ cut here ]------------
       WARNING: CPU: 2 PID: 1098 at kernel/trace/ftrace.c:2369 ftrace_get_addr_curr+0x143/0x220
       Modules linked in: [...]
       CPU: 2 PID: 1098 Comm: bash Not tainted 4.10.0-test+ #405
       Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01 v02.05 05/07/2012
       Call Trace:
        dump_stack+0x68/0x9f
        __warn+0x111/0x130
        ? trace_irq_work_interrupt+0xa0/0xa0
        warn_slowpath_null+0x1d/0x20
        ftrace_get_addr_curr+0x143/0x220
        ? __fentry__+0x10/0x10
        ftrace_replace_code+0xe3/0x4f0
        ? ftrace_int3_handler+0x90/0x90
        ? printk+0x99/0xb5
        ? 0xffffffff81000000
        ftrace_modify_all_code+0x97/0x110
        arch_ftrace_update_code+0x10/0x20
        ftrace_run_update_code+0x1c/0x60
        ftrace_run_modify_code.isra.48.constprop.62+0x8e/0xd0
        register_ftrace_function_probe+0x4b6/0x590
        ? ftrace_startup+0x310/0x310
        ? debug_lockdep_rcu_enabled.part.4+0x1a/0x30
        ? update_stack_state+0x88/0x110
        ? ftrace_regex_write.isra.43.part.44+0x1d3/0x320
        ? preempt_count_sub+0x18/0xd0
        ? mutex_lock_nested+0x104/0x800
        ? ftrace_regex_write.isra.43.part.44+0x1d3/0x320
        ? __unwind_start+0x1c0/0x1c0
        ? _mutex_lock_nest_lock+0x800/0x800
        ftrace_trace_probe_callback.isra.3+0xc0/0x130
        ? func_set_flag+0xe0/0xe0
        ? __lock_acquire+0x642/0x1790
        ? __might_fault+0x1e/0x20
        ? trace_get_user+0x398/0x470
        ? strcmp+0x35/0x60
        ftrace_trace_onoff_callback+0x48/0x70
        ftrace_regex_write.isra.43.part.44+0x251/0x320
        ? match_records+0x420/0x420
        ftrace_filter_write+0x2b/0x30
        __vfs_write+0xd7/0x330
        ? do_loop_readv_writev+0x120/0x120
        ? locks_remove_posix+0x90/0x2f0
        ? do_lock_file_wait+0x160/0x160
        ? __lock_is_held+0x93/0x100
        ? rcu_read_lock_sched_held+0x5c/0xb0
        ? preempt_count_sub+0x18/0xd0
        ? __sb_start_write+0x10a/0x230
        ? vfs_write+0x222/0x240
        vfs_write+0xef/0x240
        SyS_write+0xab/0x130
        ? SyS_read+0x130/0x130
        ? trace_hardirqs_on_caller+0x182/0x280
        ? trace_hardirqs_on_thunk+0x1a/0x1c
        entry_SYSCALL_64_fastpath+0x18/0xad
       RIP: 0033:0x7fe61c157c30
       RSP: 002b:00007ffe87890258 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
       RAX: ffffffffffffffda RBX: ffffffff8114a410 RCX: 00007fe61c157c30
       RDX: 0000000000000010 RSI: 000055814798f5e0 RDI: 0000000000000001
       RBP: ffff8800c9027f98 R08: 00007fe61c422740 R09: 00007fe61ca53700
       R10: 0000000000000073 R11: 0000000000000246 R12: 0000558147a36400
       R13: 00007ffe8788f160 R14: 0000000000000024 R15: 00007ffe8788f15c
        ? trace_hardirqs_off_caller+0xc0/0x110
       ---[ end trace 99fa09b3d9869c2c ]---
       Bad trampoline accounting at: ffffffff81cc3b00 (do_IRQ+0x0/0x150)
      
      Cc: stable@vger.kernel.org
      Fixes: 59df055f ("ftrace: trace different functions with a different tracer")
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      82cc4fc2
    • M
      block: fix bio_will_gap() for first bvec with offset · 5a8d75a1
      Ming Lei 提交于
      Commit 729204ef("block: relax check on sg gap") allows us to merge
      bios, if both are physically contiguous.  This change can merge a huge
      number of small bios, through mkfs for example, mkfs.ntfs running time
      can be decreased to ~1/10.
      
      But if one rq starts with a non-aligned buffer (the 1st bvec's bv_offset
      is non-zero) and if we allow the merge, it is quite difficult to respect
      sg gap limit, especially the max segment size, or we risk having an
      unaligned virtual boundary.  This patch tries to avoid the issue by
      disallowing a merge, if the req starts with an unaligned buffer.
      
      Also add comments to explain why the merged segment can't end in
      unaligned virt boundary.
      
      Fixes: 729204ef ("block: relax check on sg gap")
      Tested-by: NJohannes Thumshirn <jthumshirn@suse.de>
      Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: NMing Lei <ming.lei@redhat.com>
      
      Rewrote parts of the commit message and comments.
      Signed-off-by: NJens Axboe <axboe@fb.com>
      5a8d75a1
    • L
      Merge tag 'fbdev-v4.11-rc6' of git://github.com/bzolnier/linux · 82f1faa8
      Linus Torvalds 提交于
      Pull fbdev fixes from Bartlomiej Zolnierkiewicz:
      
       - fix probing time checks in omapfb driver (regression fix)
      
       - fix optional VBAT support in ssd1307fb driver (regression fix)
      
       - fix connecting to backend in xen-fbfront driver
      
      * tag 'fbdev-v4.11-rc6' of git://github.com/bzolnier/linux:
        fbdev: omapfb: delete check_required_callbacks()
        xen, fbfront: fix connecting to backend
        fbdev/ssd1307fb: fix optional VBAT support
      82f1faa8
    • L
      Merge tag 'pm-4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e16d8b6e
      Linus Torvalds 提交于
      Pull power management fixes from Rafael Wysocki:
       "These fix a cpufreq core regression related to CPU online/offline and
        several issues in the turbostat and cpupower utilities.
      
        Specifics:
      
         - Allow CPUs to be put back online even if the cpufreq driver is
           unable to work with them (eg. due to missing information from
           platform firmware), which was the previous behavior expected by
           users, but changed in the 4.9 time frame (Chen Yu).
      
         - Fix a few minor issues in the turbostat utility, introduced mostly
           during the recent update of it (Len Brown, Doug Smythies).
      
         - Fix a cpupower utility bug causing it to report incorrect values
           for turbo frequencies in some cases (Ben Hutchings)"
      
      * tag 'pm-4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpupower: Fix turbo frequency reporting for pre-Sandy Bridge cores
        cpufreq: Bring CPUs up even if cpufreq_online() failed
        tools/power turbostat: update version number
        tools/power turbostat: fix impossibly large CPU%c1 value
        tools/power turbostat: turbostat.8 add missing column definitions
        tools/power turbostat: update HWP dump to decimal from hex
        tools/power turbostat: enable package THERM_INTERRUPT dump
        tools/power turbostat: show missing Core and GFX power on SKL and KBL
        tools/power turbostat: bugfix: GFXMHz column not changing
      e16d8b6e
    • L
      Merge tag 'acpi-4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 321ae379
      Linus Torvalds 提交于
      Pull ACPI fixes from Rafael Wysocki:
      
       "These revert a recent ACPICA commit that turned out to be problematic
        and fix a device enumeration breakage from the 4.8 cycle.
      
        Specifics:
      
         - Revert a recent ACPICA commit targeted at catching firmware bugs
           which promptly did that and caused functional problems to appear
           (Rafael Wysocki).
      
         - Fix a device enumeration problem introduced in the 4.8 time frame
           which caused the ACPI docking station driver to report incorrect
           status via sysfs among other things (Rafael Wysocki)"
      
      * tag 'acpi-4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "ACPICA: Resources: Not a valid resource if buffer length too long"
        ACPI / scan: Set the visited flag for all enumerated devices
      321ae379
  5. 14 4月, 2017 11 次提交
    • L
      Merge tag 'devmem-v4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 1882e562
      Linus Torvalds 提交于
      Pull CONFIG_STRICT_DEVMEM fix from Kees Cook:
       "Fixes /dev/mem to read back zeros for System RAM areas in the 1MB
        exception area on x86 to avoid exposing RAM or tripping hardened
        usercopy"
      
      * tag 'devmem-v4.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        mm: Tighten x86 /dev/mem with zeroing reads
      1882e562
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 78739333
      Linus Torvalds 提交于
      Pull virtio fixes from Michael S. Tsirkin:
       "virtio oops fixes
      
        The virtio pci rework using shared interrupts caused a lot of issues.
        We tried to fix them but run out of time. Revert for now, and revisit
        the issue for the next kernel.
      
        Luckily we are able to do this without loosing automatic interrupt
        NUMA affinity which was the main motivator for the rework"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio-pci: Remove affinity hint before freeing the interrupt
        Revert "virtio_pci: remove struct virtio_pci_vq_info"
        Revert "virtio_pci: use shared interrupts for virtqueues"
        Revert "virtio_pci: don't duplicate the msix_enable flag in struct pci_dev"
        Revert "virtio_pci: simplify MSI-X setup"
        Revert "virtio_pci: fix out of bound access for msix_names"
        MAINTAINERS: fix virtio file pattern
        virtio_console: fix uninitialized variable use
        virtio_net: clear MTU when out of range
        virtio: allow drivers to validate features
        virtio_net: enable big packets for large MTU values
      78739333
    • D
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · f4c13c8e
      David S. Miller 提交于
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for your net tree,
      they are:
      
      1) Missing TCP header sanity check in TCPMSS target, from Eric Dumazet.
      
      2) Incorrect event message type for related conntracks created via
         ctnetlink, from Liping Zhang.
      
      3) Fix incorrect rcu locking when handling helpers from ctnetlink,
         from Gao feng.
      
      4) Fix missing rcu locking when updating helper, from Liping Zhang.
      
      5) Fix missing read_lock_bh when iterating over list of device addresses
         from TPROXY and redirect, also from Liping.
      
      6) Fix crash when trying to dump expectations from conntrack with no
         helper via ctnetlink, from Liping.
      
      7) Missing RCU protection to expecation list update given ctnetlink
         iterates over the list under rcu read lock side, from Liping too.
      
      8) Don't dump autogenerated seed in nft_hash to userspace, this is
         very confusing to the user, again from Liping.
      
      9) Fix wrong conntrack netns module refcount in ipt_CLUSTERIP,
         from Gao feng.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4c13c8e
    • A
      fbdev: omapfb: delete check_required_callbacks() · e68d490d
      Aaro Koskinen 提交于
      Commit 561eb9d0 ("fbdev: omap/lcd: Make callbacks optional") made
      panel callbacks optional but forgot to update check_required_callbacks().
      As a result many (all?) OMAP systems using omapfb will crash at boot.
      Fix by deleting the whole function.
      
      Fixes: 561eb9d0 ("fbdev: omap/lcd: Make callbacks optional")
      Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Lars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      e68d490d
    • R
      Merge branches 'acpi-scan-fixes' and 'acpica-fixes' · f83e13f9
      Rafael J. Wysocki 提交于
      * acpi-scan-fixes:
        ACPI / scan: Set the visited flag for all enumerated devices
      
      * acpica-fixes:
        Revert "ACPICA: Resources: Not a valid resource if buffer length too long"
      f83e13f9
    • R
      Merge branches 'pm-cpufreq-fixes' and 'pm-tools-fixes' · 66803c94
      Rafael J. Wysocki 提交于
      * pm-cpufreq-fixes:
        cpufreq: Bring CPUs up even if cpufreq_online() failed
      
      * pm-tools-fixes:
        cpupower: Fix turbo frequency reporting for pre-Sandy Bridge cores
        tools/power turbostat: update version number
        tools/power turbostat: fix impossibly large CPU%c1 value
        tools/power turbostat: turbostat.8 add missing column definitions
        tools/power turbostat: update HWP dump to decimal from hex
        tools/power turbostat: enable package THERM_INTERRUPT dump
        tools/power turbostat: show missing Core and GFX power on SKL and KBL
        tools/power turbostat: bugfix: GFXMHz column not changing
      66803c94
    • G
      Revert "tty: don't panic on OOM in tty_set_ldisc()" · a8983d01
      Greg Kroah-Hartman 提交于
      This reverts commit 5362544b as it is
      reported to cause a reproducable crash.
      
      Fixes: 5362544b ("tty: don't panic on OOM in tty_set_ldisc()")
      Reported-by: NVegard Nossum <vegard.nossum@gmail.com>
      Cc: Dmitry Vyukov <dvyukov@google.com>
      Cc: <syzkaller@googlegroups.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Jiri Slaby <jslaby@suse.com>
      Cc: Peter Hurley <peter@hurleysoftware.com>
      Cc: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
      a8983d01
    • T
      irqchip/irq-imx-gpcv2: Fix spinlock initialization · 75eb5e1e
      Tyler Baker 提交于
      The raw_spinlock in the IMX GPCV2 interupt chip is not initialized before
      usage. That results in a lockdep splat:
      
        INFO: trying to register non-static key.
        the code is fine but needs lockdep annotation.
        turning off the locking correctness validator.
      
      Add the missing raw_spin_lock_init() to the setup code.
      
      Fixes: e324c4dc ("irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources")
      Signed-off-by: NTyler Baker <tyler.baker@linaro.org>
      Reviewed-by: NFabio Estevam <fabio.estevam@nxp.com>
      Cc: jason@lakedaemon.net
      Cc: marc.zyngier@arm.com
      Cc: shawnguo@kernel.org
      Cc: andrew.smirnov@gmail.com
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/20170413222731.5917-1-tyler.baker@linaro.orgSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      75eb5e1e
    • P
      perf/x86: Avoid exposing wrong/stale data in intel_pmu_lbr_read_32() · f2200ac3
      Peter Zijlstra 提交于
      When the perf_branch_entry::{in_tx,abort,cycles} fields were added,
      intel_pmu_lbr_read_32() wasn't updated to initialize them.
      Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Cc: <stable@vger.kernel.org>
      Fixes: 135c5612 ("perf/x86/intel: Support Haswell/v4 LBR format")
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      f2200ac3
    • L
      Merge branch 'akpm' (patches from Andrew) · a232591b
      Linus Torvalds 提交于
      Merge fixes from Andrew Morton:
       "11 fixes.
      
        The presence of 'thp: reduce indentation level in change_huge_pmd()'
        is unfortunate. But the patchset had been decently reviewed and tested
        before we decided it was needed in -stable and I felt it best not to
        churn things at the last minute"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mailmap: add Martin Kepplinger's email
        zsmalloc: expand class bit
        zram: do not use copy_page with non-page aligned address
        zram: fix operator precedence to get offset
        hugetlbfs: fix offset overflow in hugetlbfs mmap
        thp: fix MADV_DONTNEED vs clear soft dirty race
        thp: fix MADV_DONTNEED vs. MADV_FREE race
        mm: drop unused pmdp_huge_get_and_clear_notify()
        thp: fix MADV_DONTNEED vs. numa balancing race
        thp: reduce indentation level in change_huge_pmd()
        z3fold: fix page locking in z3fold_alloc()
      a232591b
    • M
      mailmap: add Martin Kepplinger's email · 5714320d
      Martin Kepplinger 提交于
      Set the partly deprecated companies' email addresses as alias for the
      personal one.
      
      Link: http://lkml.kernel.org/r/1491984622-17321-1-git-send-email-martin.kepplinger@ginzinger.comSigned-off-by: NMartin Kepplinger <martin.kepplinger@ginzinger.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5714320d