1. 14 Sep, 2018 7 commits
  2. 13 Sep, 2018 6 commits
    • Tejun Heo's avatar
      MAINTAINERS: Make Dennis the percpu tree maintainer · 1194c415
      Tejun Heo authored
      Dennis rewrote a significant portion of the percpu allocator and has
      shown that he can respond in a timely and helpful manner when issues
      are reported against percpu allocator.
      
      Let's make Dennis the percpu tree maintainer.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Dennis Zhou <dennis@kernel.org>
      Cc: Christoph Lameter <cl@linux.com>
      1194c415
    • Bin Yang's avatar
      pstore: Fix incorrect persistent ram buffer mapping · 831b624d
      Bin Yang authored
      persistent_ram_vmap() returns the page start vaddr.
      persistent_ram_iomap() supports non-page-aligned mapping.
      
      persistent_ram_buffer_map() always adds offset-in-page to the vaddr
      returned from these two functions, which causes incorrect mapping of
      non-page-aligned persistent ram buffer.
      
      By default ftrace_size is 4096 and max_ftrace_cnt is nr_cpu_ids. Without
      this patch, the zone_sz in ramoops_init_przs() is 4096/nr_cpu_ids which
      might not be page aligned. If the offset-in-page > 2048, the vaddr will be
      in next page. If the next page is not mapped, it will cause kernel panic:
      
      [    0.074231] BUG: unable to handle kernel paging request at ffffa19e0081b000
      ...
      [    0.075000] RIP: 0010:persistent_ram_new+0x1f8/0x39f
      ...
      [    0.075000] Call Trace:
      [    0.075000]  ramoops_init_przs.part.10.constprop.15+0x105/0x260
      [    0.075000]  ramoops_probe+0x232/0x3a0
      [    0.075000]  platform_drv_probe+0x3e/0xa0
      [    0.075000]  driver_probe_device+0x2cd/0x400
      [    0.075000]  __driver_attach+0xe4/0x110
      [    0.075000]  ? driver_probe_device+0x400/0x400
      [    0.075000]  bus_for_each_dev+0x70/0xa0
      [    0.075000]  driver_attach+0x1e/0x20
      [    0.075000]  bus_add_driver+0x159/0x230
      [    0.075000]  ? do_early_param+0x95/0x95
      [    0.075000]  driver_register+0x70/0xc0
      [    0.075000]  ? init_pstore_fs+0x4d/0x4d
      [    0.075000]  __platform_driver_register+0x36/0x40
      [    0.075000]  ramoops_init+0x12f/0x131
      [    0.075000]  do_one_initcall+0x4d/0x12c
      [    0.075000]  ? do_early_param+0x95/0x95
      [    0.075000]  kernel_init_freeable+0x19b/0x222
      [    0.075000]  ? rest_init+0xbb/0xbb
      [    0.075000]  kernel_init+0xe/0xfc
      [    0.075000]  ret_from_fork+0x3a/0x50
      Signed-off-by: default avatarBin Yang <bin.yang@intel.com>
      [kees: add comments describing the mapping differences, updated commit log]
      Fixes: 24c3d2f3 ("staging: android: persistent_ram: Make it possible to use memory outside of bootmem")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      831b624d
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.19-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 54eda9df
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - Add Tyrel Datwyler as maintainer for PPC64 RPA hotplug (Tyrel
         Datwyler)
      
       - Add Gustavo Pimentel as DesignWare PCI maintainer (Joao Pinto)
      
       - Fix a Switchtec Spectre v1 vulnerability (Gustavo A. R. Silva)
      
       - Revert an unnecessary Intel 300 ACS quirk (Mika Westerberg)
      
       - Fix pciehp hot-add/powerfault detection that left indicators in wrong
         state (Keith Busch)
      
       - Fix pci_reset_bus() logic error (Dennis Dalessandro)
      
       - Revert IB/hfi1 PCI reset change that caused a deadlock (Dennis
         Dalessandro)
      
       - Allow enabling PASID on Root Complex Integrated Endpoints (Felix
         Kuehling)
      
      * tag 'pci-v4.19-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Fix enabling of PASID on RC integrated endpoints
        IB/hfi1,PCI: Allow bus reset while probing
        PCI: Fix faulty logic in pci_reset_bus()
        PCI: pciehp: Fix hot-add vs powerfault detection order
        switchtec: Fix Spectre v1 vulnerability
        Revert "PCI: Add ACS quirk for Intel 300 series"
        MAINTAINERS: Add Gustavo Pimentel as DesignWare PCI maintainer
        MAINTAINERS: Add entries for PPC64 RPA PCI hotplug drivers
      54eda9df
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.19' of git://github.com/cminyard/linux-ipmi · d3bd5973
      Linus Torvalds authored
      Pull IPMI bugfixes from Corey Minyard:
       "A few fixes that came around or after the merge window, except for
        commit cd2315d4 ("ipmi: kcs_bmc: don't change device name") which
        is for a driver that very few people use, and those people need the
        change"
      
      * tag 'for-linus-4.19' of git://github.com/cminyard/linux-ipmi:
        ipmi: Fix NULL pointer dereference in ssif_probe
        ipmi: Fix I2C client removal in the SSIF driver
        ipmi: Move BT capabilities detection to the detect call
        ipmi: Rework SMI registration failure
        ipmi: kcs_bmc: don't change device name
      d3bd5973
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2018-09-12' of git://anongit.freedesktop.org/drm/drm · 7428b2e5
      Linus Torvalds authored
      Pull drm nouveau fixes from Dave Airlie:
       "I'm sending this separately as it's a bit larger than I generally like
        for one driver, but it does contain a bunch of make my nvidia laptop
        not die (runpm) and a bunch to make my docking station and monitor
        display stuff (mst) fixes.
      
        Lyude has spent a lot of time on these, and we are putting the fixes
        into distro kernels as well asap, as it helps a bunch of standard
        Lenovo laptops, so I'm fairly happy things are better than they were
        before these patches, but I decided to split them out just for
        clarification"
      
      * tag 'drm-fixes-2018-09-12' of git://anongit.freedesktop.org/drm/drm:
        drm/nouveau/disp/gm200-: enforce identity-mapped SOR assignment for LVDS/eDP panels
        drm/nouveau/disp: fix DP disable race
        drm/nouveau/disp: move eDP panel power handling
        drm/nouveau/disp: remove unused struct member
        drm/nouveau/TBDdevinit: don't fail when PMU/PRE_OS is missing from VBIOS
        drm/nouveau/mmu: don't attempt to dereference vmm without valid instance pointer
        drm/nouveau: fix oops in client init failure path
        drm/nouveau: Fix nouveau_connector_ddc_detect()
        drm/nouveau/drm/nouveau: Don't forget to cancel hpd_work on suspend/unload
        drm/nouveau/drm/nouveau: Prevent handling ACPI HPD events too early
        drm/nouveau: Reset MST branching unit before enabling
        drm/nouveau: Only write DP_MSTM_CTRL when needed
        drm/nouveau: Remove useless poll_enable() call in drm_load()
        drm/nouveau: Remove useless poll_disable() call in switcheroo_set_state()
        drm/nouveau: Remove useless poll_enable() call in switcheroo_set_state()
        drm/nouveau: Fix deadlocks in nouveau_connector_detect()
        drm/nouveau/drm/nouveau: Use pm_runtime_get_noresume() in connector_detect()
        drm/nouveau/drm/nouveau: Fix deadlock with fb_helper with async RPM requests
        drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend()
        drm/nouveau/drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
      7428b2e5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 67b07609
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix up several Kconfig dependencies in netfilter, from Martin Willi
          and Florian Westphal.
      
       2) Memory leak in be2net driver, from Petr Oros.
      
       3) Memory leak in E-Switch handling of mlx5 driver, from Raed Salem.
      
       4) mlx5_attach_interface needs to check for errors, from Huy Nguyen.
      
       5) tipc_release() needs to orphan the sock, from Cong Wang.
      
       6) Need to program TxConfig register after TX/RX is enabled in r8169
          driver, not beforehand, from Maciej S. Szmigiero.
      
       7) Handle 64K PAGE_SIZE properly in ena driver, from Netanel Belgazal.
      
       8) Fix crash regression in ip_do_fragment(), from Taehee Yoo.
      
       9) syzbot can create conditions where kernel log is flooded with
          synflood warnings due to creation of many listening sockets, fix
          that. From Willem de Bruijn.
      
      10) Fix RCU issues in rds socket layer, from Cong Wang.
      
      11) Fix vlan matching in nfp driver, from Pieter Jansen van Vuuren.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (59 commits)
        nfp: flower: reject tunnel encap with ipv6 outer headers for offloading
        nfp: flower: fix vlan match by checking both vlan id and vlan pcp
        tipc: check return value of __tipc_dump_start()
        s390/qeth: don't dump past end of unknown HW header
        s390/qeth: use vzalloc for QUERY OAT buffer
        s390/qeth: switch on SG by default for IQD devices
        s390/qeth: indicate error when netdev allocation fails
        rds: fix two RCU related problems
        r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED
        erspan: fix error handling for erspan tunnel
        erspan: return PACKET_REJECT when the appropriate tunnel is not found
        tcp: rate limit synflood warnings further
        MIPS: lantiq: dma: add dev pointer
        netfilter: xt_hashlimit: use s->file instead of s->private
        netfilter: nfnetlink_queue: Solve the NFQUEUE/conntrack clash for NF_REPEAT
        netfilter: cttimeout: ctnl_timeout_find_get() returns incorrect pointer to type
        netfilter: conntrack: timeout interface depend on CONFIG_NF_CONNTRACK_TIMEOUT
        netfilter: conntrack: reset tcp maxwin on re-register
        qmi_wwan: Support dynamic config on Quectel EP06
        ethernet: renesas: convert to SPDX identifiers
        ...
      67b07609
  3. 12 Sep, 2018 23 commits
  4. 11 Sep, 2018 4 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 28a0ea77
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "This fixes one major regression with NFS and mlx4 due to the max_sg
        rework in this merge window, tidies a few minor error_path
        regressions, and various small fixes.
      
        The HFI1 driver is broken this cycle due to a regression caused by a
        PCI change, it is looking like Bjorn will merge a fix for this. Also,
        the lingering ipoib issue I mentioned earlier still remains unfixed.
      
        Summary:
      
         - Fix possible FD type confusion crash
      
         - Fix a user trigger-able crash in cxgb4
      
         - Fix bad handling of IOMMU resources causing user controlled leaking
           in bnxt
      
         - Add missing locking in ipoib to fix a rare 'stuck tx' situation
      
         - Add missing locking in cma
      
         - Add two missing missing uverbs cleanups on failure paths,
           regressions from this merge window
      
         - Fix a regression from this merge window that caused RDMA NFS to not
           work with the mlx4 driver due to the max_sg changes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW
        RDMA/cma: Protect cma dev list with lock
        RDMA/uverbs: Fix error cleanup path of ib_uverbs_add_one()
        bnxt_re: Fix couple of memory leaks that could lead to IOMMU call traces
        IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler
        iw_cxgb4: only allow 1 flush on user qps
        IB/core: Release object lock if destroy failed
        RDMA/ucma: check fd type in ucma_migrate_id()
      28a0ea77
    • Keith Busch's avatar
      PCI: pciehp: Fix hot-add vs powerfault detection order · 34fb6bf9
      Keith Busch authored
      If both hot-add and power fault were observed in a single interrupt, we
      handled the hot-add first, then the power fault, in this path:
      
        pciehp_ist
          if (events & (PDC | DLLSC))
            pciehp_handle_presence_or_link_change
              case OFF_STATE:
                pciehp_enable_slot
                  __pciehp_enable_slot
                    board_added
                      pciehp_power_on_slot
                        ctrl->power_fault_detected = 0
                        pcie_write_cmd(ctrl, PCI_EXP_SLTCTL_PWR_ON, PCI_EXP_SLTCTL_PCC)
                      pciehp_green_led_on(p_slot)             # power LED on
      		pciehp_set_attention_status(p_slot, 0)  # attention LED off
          if ((events & PFD) && !ctrl->power_fault_detected)
            ctrl->power_fault_detected = 1
            pciehp_set_attention_status(1)                    # attention LED on
            pciehp_green_led_off(slot)                        # power LED off
      
      This left the attention indicator on (even though the hot-add succeeded)
      and the power indicator off (even though the slot power was on).
      
      Fix this by checking for power faults before checking for new devices.
      
      Prior to 0e94916e, this was successful because everything was chained
      through work queues and the order was:
      
        INT_PRESENCE_ON -> INT_POWER_FAULT -> ENABLE_REQ
      
      The ENABLE_REQ cleared the power fault at the end, but now everything is
      handled inline with the interrupt thread, such that the work ENABLE_REQ was
      doing happens before power fault handling now.
      
      Fixes: 0e94916e ("PCI: pciehp: Handle events synchronously")
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      [bhelgaas: changelog]
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarLukas Wunner <lukas@wunner.de>
      34fb6bf9
    • Gustavo A. R. Silva's avatar
      switchtec: Fix Spectre v1 vulnerability · 46feb6b4
      Gustavo A. R. Silva authored
      p.port can is indirectly controlled by user-space, hence leading to
      a potential exploitation of the Spectre variant 1 vulnerability.
      
      This issue was detected with the help of Smatch:
      
        drivers/pci/switch/switchtec.c:912 ioctl_port_to_pff() warn: potential spectre issue 'pcfg->dsp_pff_inst_id' [r]
      
      Fix this by sanitizing p.port before using it to index
      pcfg->dsp_pff_inst_id
      
      Notice that given that speculation windows are large, the policy is to kill
      the speculation on the first load and not worry if it can be completed with
      a dependent load/store [1].
      
      [1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarLogan Gunthorpe <logang@deltatee.com>
      Cc: stable@vger.kernel.org
      46feb6b4
    • Mika Westerberg's avatar
      Revert "PCI: Add ACS quirk for Intel 300 series" · 50ca031b
      Mika Westerberg authored
      This reverts f154a718 ("PCI: Add ACS quirk for Intel 300 series").
      
      It turns out that erratum "PCH PCIe* Controller Root Port (ACSCTLR) Appear
      As Read Only" has been fixed in 300 series chipsets, even though the
      datasheet [1] claims otherwise.  To make ACS work properly on 300 series
      root ports, revert the faulty commit.
      
      [1] https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/300-series-c240-series-chipset-pch-spec-update.pdf
      
      Fixes: f154a718 ("PCI: Add ACS quirk for Intel 300 series")
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: stable@vger.kernel.org	# v4.18+
      50ca031b