1. 16 Jun, 2017 5 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 51ce5f33
      Linus Torvalds authored
      Pull rdma fixes from Doug Ledford:
      
       "I had thought at the time of the last pull request that there wouldn't
        be much more to go, but several things just kept trickling in over the
        last week.
      
        Instead of just the six patches to bnxt_re that I had anticipated,
        there are another five IPoIB patches, two qedr patches, and a few
        other miscellaneous patches.
      
        The bnxt_re patches are more lines of diff than I like to submit this
        late in the game. That's mostly because of the first two patches in
        the series of six. I almost dropped them just because of the lines of
        churn, but on a close review, a lot of the churn came from removing
        duplicated code sections and consolidating them into callable
        routines. I felt like this made the number of lines of change more
        acceptable, and they address problems, so I left them. The remainder
        of the patches are all small, well contained, and well understood.
      
        These have passed 0day testing, but have not been submitted to
        linux-next (but a local merge test with your current master was
        without any conflicts).
      
        Summary:
      
         - A fix for fix eea40b8f ("infiniband: call ipv6 route lookup via
           the stub interface")
      
         - Six patches against bnxt_re...the first two are considerably larger
           than I would like, but as they address real issues I went ahead and
           submitted them (it also helped that a good deal of the churn was
           removing code repeated in multiple places and consolidating it to
           one common function)
      
         - Two fixes against qedr that just came in
      
         - One fix against rxe that took a few revisions to get right plus
           time to get the proper reviews
      
         - Five late breaking IPoIB fixes
      
         - One late cxgb4 fix"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        rdma/cxgb4: Fix memory leaks during module exit
        IB/ipoib: Fix memory leak in create child syscall
        IB/ipoib: Fix access to un-initialized napi struct
        IB/ipoib: Delete napi in device uninit default
        IB/ipoib: Limit call to free rdma_netdev for capable devices
        IB/ipoib: Fix memory leaks for child interfaces priv
        rxe: Fix a sleep-in-atomic bug in post_one_send
        RDMA/qedr: Add 64KB PAGE_SIZE support to user-space queues
        RDMA/qedr: Initialize byte_len in WC of READ and SEND commands
        RDMA/bnxt_re: Remove FMR support
        RDMA/bnxt_re: Fix RQE posting logic
        RDMA/bnxt_re: Add HW workaround for avoiding stall for UD QPs
        RDMA/bnxt_re: Dereg MR in FW before freeing the fast_reg_page_list
        RDMA/bnxt_re: HW workarounds for handling specific conditions
        RDMA/bnxt_re: Fixing the Control path command and response handling
        IB/addr: Fix setting source address in addr6_resolve()
      51ce5f33
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.12-2' of git://git.infradead.org/linux-platform-drivers-x86 · f69d64de
      Linus Torvalds authored
      Pull x86 platform driver fix from Darren Hart:
       "Just a single patch to fix an oops in the intel_telemetry_debugfs
        module load/unload"
      
      * tag 'platform-drivers-x86-v4.12-2' of git://git.infradead.org/linux-platform-drivers-x86:
        platform/x86: intel_telemetry_debugfs: fix oops when load/unload module
      f69d64de
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · e78e4626
      Linus Torvalds authored
      Pull block layer fix from Jens Axboe:
       "Just a single fix this week, fixing a regression introduced in this
        release.
      
        When we put the final reference to the queue, we may need to block.
        Ensure that we can safely do so. From Bart"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: Fix a blk_exit_rl() regression
      e78e4626
    • Linus Torvalds's avatar
      Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · cbfb7497
      Linus Torvalds authored
      Pull dmi fixes from Jean Delvare.
      
      * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        firmware: dmi_scan: Check DMI structure length
        firmware: dmi: Fix permissions of product_family
        firmware: dmi_scan: Make dmi_walk and dmi_walk_early return real error codes
        firmware: dmi_scan: Look for SMBIOS 3 entry point first
      cbfb7497
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 550ad8ef
      Linus Torvalds authored
      Pull selinux fix from James Morris:
       "Fix for a double free bug in SELinux"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        selinux: fix double free in selinux_parse_opts_str()
      550ad8ef
  2. 15 Jun, 2017 11 commits
    • Jean Delvare's avatar
      firmware: dmi_scan: Check DMI structure length · a814c359
      Jean Delvare authored
      Before accessing DMI data to record it for later, we should ensure
      that the DMI structures are large enough to contain the data in
      question.
      Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
      Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      a814c359
    • Jean Delvare's avatar
      firmware: dmi: Fix permissions of product_family · e0733e97
      Jean Delvare authored
      This is not sensitive information like serial numbers, we can allow
      all users to read it.
      
      Fix odd alignment while we're here.
      Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
      Fixes: c61872c9 ("firmware: dmi: Add DMI_PRODUCT_FAMILY identification string")
      Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      e0733e97
    • Andy Lutomirski's avatar
      firmware: dmi_scan: Make dmi_walk and dmi_walk_early return real error codes · c9268200
      Andy Lutomirski authored
      Currently they return -1 on error, which will confuse callers if
      they try to interpret it as a normal negative error code.
      Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
      Signed-off-by: default avatarDarren Hart (VMware) <dvhart@infradead.org>
      Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
      c9268200
    • Jean Delvare's avatar
      firmware: dmi_scan: Look for SMBIOS 3 entry point first · c9aba143
      Jean Delvare authored
      Since version 3.0.0 of the SMBIOS specification, there can be
      multiple entry points in memory, pointing to one or two DMI tables.
      If both a 32-bit ("_SM_") entry point and a 64-bit ("_SM3_") entry
      point are present, the specification requires that the latter points
      to a table which is a super-set of the table pointed to by the
      former. Therefore we should give preference to the 64-bit ("_SM3_")
      entry point.
      
      However, currently the code is picking the first valid entry point
      it finds. Per specification, we should look for a 64-bit ("_SM3_")
      entry point first, and if we can't find any, look for a 32-bit
      ("_SM_" or "_DMI_") entry point. Modify the code to do that.
      Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
      c9aba143
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · a090bd4f
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) The netlink attribute passed in to dev_set_alias() is not
          necessarily NULL terminated, don't use strlcpy() on it. From
          Alexander Potapenko.
      
       2) Fix implementation of atomics in arm64 bpf JIT, from Daniel
          Borkmann.
      
       3) Correct the release of netdevs and driver private data in certain
          circumstances.
      
       4) Sanitize netlink message length properly in decnet, from Mateusz
          Jurczyk.
      
       5) Don't leak kernel data in rtnl_fill_vfinfo() netlink blobs. From
          Yuval Mintz.
      
       6) Hash secret is never initialized in ipv6 ILA translation code, from
          Arnd Bergmann. I guess those clang warnings about unused inline
          functions are useful for something!
      
       7) Fix endian selection in bpf_endian.h, from Daniel Borkmann.
      
       8) Sanitize sockaddr length before dereferncing any fields in AF_UNIX
          and CAIF. From Mateusz Jurczyk.
      
       9) Fix timestamping for GMAC3 chips in stmmac driver, from Mario
          Molitor.
      
      10) Do not leak netdev on dev_alloc_name() errors in mac80211, from
          Johannes Berg.
      
      11) Fix locking in sctp_for_each_endpoint(), from Xin Long.
      
      12) Fix wrong memset size on 32-bit in snmp6, from Christian Perle.
      
      13) Fix use after free in ip_mc_clear_src(), from WANG Cong.
      
      14) Fix regressions caused by ICMP rate limiting changes in 4.11, from
          Jesper Dangaard Brouer.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (91 commits)
        i40e: Fix a sleep-in-atomic bug
        net: don't global ICMP rate limit packets originating from loopback
        net/act_pedit: fix an error code
        net: update undefined ->ndo_change_mtu() comment
        net_sched: move tcf_lock down after gen_replace_estimator()
        caif: Add sockaddr length check before accessing sa_family in connect handler
        qed: fix dump of context data
        qmi_wwan: new Telewell and Sierra device IDs
        net: phy: Fix MDIO_THUNDER dependencies
        netconsole: Remove duplicate "netconsole: " logging prefix
        igmp: acquire pmc lock for ip_mc_clear_src()
        r8152: give the device version
        net: rps: fix uninitialized symbol warning
        mac80211: don't send SMPS action frame in AP mode when not needed
        mac80211/wpa: use constant time memory comparison for MACs
        mac80211: set bss_info data before configuring the channel
        mac80211: remove 5/10 MHz rate code from station MLME
        mac80211: Fix incorrect condition when checking rx timestamp
        mac80211: don't look at the PM bit of BAR frames
        i40e: fix handling of HW ATR eviction
        ...
      a090bd4f
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 54ed0f71
      Linus Torvalds authored
      Pull crypto fix from Herbert Xu:
       "This fixes a bug on sparc where we may dereference freed stack memory"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: Work around deallocated stack frame reference gcc bug on sparc.
      54ed0f71
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 35e60a6b
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These revert an ACPICA commit from the 4.11 cycle that causes problems
        to happen on some systems and add a protection against possible kernel
        crashes due to table reference counter imbalance.
      
        Specifics:
      
         - Revert a 4.11 ACPICA change that made assumptions which are not
           satisfied on some systems and caused the enumeration of resources
           to fail on them (Rafael Wysocki).
      
         - Add a mechanism to prevent tables from being unmapped prematurely
           due to reference counter overflows (Lv Zheng)"
      
      * tag 'acpi-4.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPICA: Tables: Mechanism to handle late stage acpi_get_table() imbalance
        Revert "ACPICA: Disassembler: Enhance resource descriptor detection"
      35e60a6b
    • Linus Torvalds's avatar
      Merge tag 'pm-4.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 92091c43
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These revert a recent cpufreq schedutil governor change that turned
        out to be problematic and fix a few minor issues in cpufreq, cpuidle
        and the Exynos devfreq drivers.
      
        Specifics:
      
         - Revert a recent cpufreq schedutil governor change that caused some
           systems to behave undesirably (Rafael Wysocki).
      
         - Fix a cpufreq conservative governor issue introduced during the
           3.10 cycle that prevents it from working as expected in some
           situations (Tomasz Wilczyński).
      
         - Fix an error code path in the generic cpuidle driver for DT-based
           systems (Christophe Jaillet).
      
         - Fix three minor issues in devfreq drivers for Exynos (Arvind Yadav,
           Krzysztof Kozlowski)"
      
      * tag 'pm-4.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpuidle: dt: Add missing 'of_node_put()'
        cpufreq: conservative: Allow down_threshold to take values from 1 to 10
        Revert "cpufreq: schedutil: Reduce frequencies slower"
        PM / devfreq: exynos-ppmu: Staticize event list
        PM / devfreq: exynos-ppmu: Handle return value of clk_prepare_enable
        PM / devfreq: exynos-nocp: Handle return value of clk_prepare_enable
      92091c43
    • Linus Torvalds's avatar
      Merge branch 'for-4.12/driver-matching-fix' of... · b45edc2d
      Linus Torvalds authored
      Merge branch 'for-4.12/driver-matching-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
      
      Pull HID fix from Jiri Kosina:
      
       - ifdef-based bandaid for a long-standing issue with HID driver
         matching, avoiding regressions in cases where specific driver is not
         enabled in kernel .config, from Jiri Kosina
      
      * 'for-4.12/driver-matching-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: let generic driver yield control iff specific driver has been enabled
      b45edc2d
    • Linus Torvalds's avatar
      Merge tag 'media/v4.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 906e0c5b
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
       - some build dependency issues at CEC core with randconfigs
      
       - fix an off by one error at vb2
      
       - a race fix at cec core
      
       - driver fixes at tc358743, sir_ir and rainshadow-cec
      
      * tag 'media/v4.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] media/cec.h: use IS_REACHABLE instead of IS_ENABLED
        [media] cec: race fix: don't return -ENONET in cec_receive()
        [media] sir_ir: infinite loop in interrupt handler
        [media] cec-notifier.h: handle unreachable CONFIG_CEC_CORE
        [media] cec: improve MEDIA_CEC_RC dependencies
        [media] vb2: Fix an off by one error in 'vb2_plane_vaddr'
        [media] rainshadow-cec: Fix missing spin_lock_init()
        [media] tc358743: fix register i2c_rd/wr function fix
      906e0c5b
    • Jia-Ju Bai's avatar
      i40e: Fix a sleep-in-atomic bug · 640f93cc
      Jia-Ju Bai authored
      The driver may sleep under a spin lock, and the function call path is:
      i40e_ndo_set_vf_port_vlan (acquire the lock by spin_lock_bh)
        i40e_vsi_remove_pvid
          i40e_vlan_stripping_disable
            i40e_aq_update_vsi_params
              i40e_asq_send_command
                mutex_lock --> may sleep
      
      To fixed it, the spin lock is released before "i40e_vsi_remove_pvid", and
      the lock is acquired again after this function.
      Signed-off-by: default avatarJia-Ju Bai <baijiaju1990@163.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      640f93cc
  3. 14 Jun, 2017 21 commits
  4. 13 Jun, 2017 3 commits
    • Mateusz Jurczyk's avatar
      caif: Add sockaddr length check before accessing sa_family in connect handler · 20a3d5bf
      Mateusz Jurczyk authored
      Verify that the caller-provided sockaddr structure is large enough to
      contain the sa_family field, before accessing it in the connect()
      handler of the AF_CAIF socket. Since the syscall doesn't enforce a minimum
      size of the corresponding memory region, very short sockaddrs (zero or one
      byte long) result in operating on uninitialized memory while referencing
      sa_family.
      Signed-off-by: default avatarMateusz Jurczyk <mjurczyk@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20a3d5bf
    • Devesh Sharma's avatar
      RDMA/bnxt_re: Fixing the Control path command and response handling · cc1ec769
      Devesh Sharma authored
      Fixing a concurrency issue with creq handling. Each caller
      was given a globally managed crsq element, which was
      accessed outside a lock. This could result in corruption,
      if lot of applications are simultaneously issuing Control Path
      commands. Now, each caller will provide its own response buffer
      and the responses will be copied under a lock.
      Also, Fixing the queue full condition check for the CMDQ.
      
      As a part of these changes, the control path code is refactored
      to remove the code replication in the response status checking.
      Signed-off-by: default avatarDevesh Sharma <devesh.sharma@broadcom.com>
      Signed-off-by: default avatarSelvin Xavier <selvin.xavier@broadcom.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      cc1ec769
    • Priyalee Kushwaha's avatar
      platform/x86: intel_telemetry_debugfs: fix oops when load/unload module · bf5d0081
      Priyalee Kushwaha authored
      This fixes an oops found while testing load/unload of the
      intel_telemetry_debugfs module. module_init uses register_pm_notifier
      for PM callbacks, but unregister_pm_notifier was missing from
      module_exit.
      
       [ 97.481860] BUG: unable to handle kernel paging request at ffffffffa006f010
       [ 97.489742] IP: blocking_notifier_chain_register+0x3a/0xa0
       [ 97.495898] PGD 2e0a067
       [ 97.495899] PUD 2e0b063
       [ 97.498737] PMD 179e29067
       [ 97.501573] PTE 0
      
       [ 97.508423] Oops: 0000 1 PREEMPT SMP
       [ 97.512724] Modules linked in: intel_telemetry_debugfs intel_rapl gpio_keys dwc3 udc_core intel_telemetry_pltdrv intel_punit_ipc intel_telemetry_core rtc_cmos efivars x86_pkg_temp_thermal iwlwifi snd_hda_codec_hdmi soc_button_array btusb cfg80211 btrtl mei_me hci_uart btbcm mei btintel i915 bluetooth intel_pmc_ipc snd_hda_intel spi_pxa2xx_platform snd_hda_codec dwc3_pci snd_hda_core tpm_tis tpm_tis_core tpm efivarfs
       [ 97.558453] CPU: 0 PID: 889 Comm: modprobe Not tainted 4.11.0-rc6-intel-dev-bkc #1
       [ 97.566950] Hardware name: Intel Corp. Joule DVT3/SDS, BIOS GTPP181A.X64.0143.B30.1701132137 01/13/2017
       [ 97.577518] task: ffff8801793a21c0 task.stack: ffff8801793f0000
       [ 97.584162] RIP: 0010:blocking_notifier_chain_register+0x3a/0xa0
       [ 97.590903] RSP: 0018:ffff8801793f3c58 EFLAGS: 00010286
       [ 97.596802] RAX: ffffffffa006f000 RBX: ffffffff81e3ea20 RCX: 0000000000000000
       [ 97.604812] RDX: ffff880179eaf210 RSI: ffffffffa0131000 RDI: ffffffff81e3ea20
       [ 97.612821] RBP: ffff8801793f3c68 R08: 0000000000000006 R09: 000000000000005c
       [ 97.620847] R10: 0000000000000000 R11: 0000000000000006 R12: ffffffffa0131000
       [ 97.628855] R13: 0000000000000000 R14: ffff880176e35f48 R15: ffff8801793f3ea8
       [ 97.636865] FS: 00007f7eeba07700(0000) GS:ffff88017fc00000(0000) knlGS:0000000000000000
       [ 97.645948] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
       [ 97.652423] CR2: ffffffffa006f010 CR3: 00000001775ef000 CR4: 00000000003406f0
       [ 97.660423] Call Trace:
       [ 97.663166] ? 0xffffffffa0031000
       [ 97.666885] register_pm_notifier+0x18/0x20
       [ 97.671581] telemetry_debugfs_init+0x92/0x1000
      Signed-off-by: default avatarPriyalee Kushwaha <priyalee.kushwaha@intel.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarDarren Hart (VMware) <dvhart@infradead.org>
      bf5d0081