1. 16 11月, 2017 40 次提交
    • E
      net/sctp: Always set scope_id in sctp_inet6_skb_msgname · 7c8a61d9
      Eric W. Biederman 提交于
      Alexandar Potapenko while testing the kernel with KMSAN and syzkaller
      discovered that in some configurations sctp would leak 4 bytes of
      kernel stack.
      
      Working with his reproducer I discovered that those 4 bytes that
      are leaked is the scope id of an ipv6 address returned by recvmsg.
      
      With a little code inspection and a shrewd guess I discovered that
      sctp_inet6_skb_msgname only initializes the scope_id field for link
      local ipv6 addresses to the interface index the link local address
      pertains to instead of initializing the scope_id field for all ipv6
      addresses.
      
      That is almost reasonable as scope_id's are meaniningful only for link
      local addresses.  Set the scope_id in all other cases to 0 which is
      not a valid interface index to make it clear there is nothing useful
      in the scope_id field.
      
      There should be no danger of breaking userspace as the stack leak
      guaranteed that previously meaningless random data was being returned.
      
      Fixes: 372f525b495c ("SCTP:  Resync with LKSCTP tree.")
      History-tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.gitReported-by: NAlexander Potapenko <glider@google.com>
      Tested-by: NAlexander Potapenko <glider@google.com>
      Signed-off-by: N"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7c8a61d9
    • H
      fealnx: Fix building error on MIPS · cc54c1d3
      Huacai Chen 提交于
      This patch try to fix the building error on MIPS. The reason is MIPS
      has already defined the LONG macro, which conflicts with the LONG enum
      in drivers/net/ethernet/fealnx.c.
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cc54c1d3
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec · 6a787d6f
      David S. Miller 提交于
      Steffen Klassert says:
      
      ====================
      1) Copy policy family in clone_policy, otherwise this can
         trigger a BUG_ON in af_key. From Herbert Xu.
      
      2) Revert "xfrm: Fix stack-out-of-bounds read in xfrm_state_find."
         This added a regression with transport mode when no addresses
         are configured on the policy template.
      
      Both patches are stable candidates.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6a787d6f
    • D
      Merge branch 'isdn-hisax-Fix-pnp_irq-error-checking' · d871c321
      David S. Miller 提交于
      Arvind Yadav says:
      
      ====================
      isdn: hisax: Fix pnp_irq's error checking
      
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d871c321
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_teles3 · 20525563
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      20525563
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_sedlbauer_isapnp · d48cc29a
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d48cc29a
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_niccy · 4bef0eb0
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4bef0eb0
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_ix1micro · 203d2027
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      203d2027
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_isurf · 56cdb919
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56cdb919
    • A
      isdn: hisax: Handle return value of pnp_irq and pnp_port_start · eb545c12
      Arvind Yadav 提交于
      pnp_irq() and pnp_port_start() can fail here and we must check
      its return value.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eb545c12
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_hfcs · faa2efff
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      faa2efff
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_hfcsx · a6234b89
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a6234b89
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_elsa_isapnp · 3cf631b5
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3cf631b5
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_diva_isapnp · e17aa098
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e17aa098
    • A
      isdn: hisax: Fix pnp_irq's error checking for avm_pnp_setup · b0927bd9
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b0927bd9
    • A
      isdn: hisax: Fix pnp_irq's error checking for setup_asuscom · 84dcc16c
      Arvind Yadav 提交于
      The pnp_irq() function returns -1 if an error occurs.
      pnp_irq() error checking for zero is not correct.
      Signed-off-by: NArvind Yadav <arvind.yadav.cs@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      84dcc16c
    • J
      tipc: enforce valid ratio between skb truesize and contents · d618d09a
      Jon Maloy 提交于
      The socket level flow control is based on the assumption that incoming
      buffers meet the condition (skb->truesize / roundup(skb->len) <= 4),
      where the latter value is rounded off upwards to the nearest 1k number.
      This does empirically hold true for the device drivers we know, but we
      cannot trust that it will always be so, e.g., in a system with jumbo
      frames and very small packets.
      
      We now introduce a check for this condition at packet arrival, and if
      we find it to be false, we copy the packet to a new, smaller buffer,
      where the condition will be true. We expect this to affect only a small
      fraction of all incoming packets, if at all.
      Acked-by: NYing Xue <ying.xue@windriver.com>
      Signed-off-by: NJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d618d09a
    • A
      netfilter: add ifdef around ctnetlink_proto_size · 8252fcea
      Arnd Bergmann 提交于
      This function is no longer marked 'inline', so we now get a warning
      when it is unused:
      
      net/netfilter/nf_conntrack_netlink.c:536:15: error: 'ctnetlink_proto_size' defined but not used [-Werror=unused-function]
      
      We could mark it inline again, mark it __maybe_unused, or add an #ifdef
      around the definition. I'm picking the third approach here since that
      seems to be what the rest of the file has.
      
      Fixes: 5caaed15 ("netfilter: conntrack: don't cache nlattr_tuple_size result in nla_size")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8252fcea
    • G
      net: ethernet: ti: cpsw: fix min eth packet size · 9421c901
      Grygorii Strashko 提交于
      Now CPSW driver configures min eth packet size to 60 octets (ETH_ZLEN)
      which works in most of cases, but when port VLAN is configured on some
      switch port, it also can be configured to force all egress packets to be
      VLAN untagged. And in this case, CPSW driver will pad small packets to 60
      octets, but final packet size on port egress can became less than 60 octets
      due to VLAN tag removal and packet will be dropped.
      
      Hence, fix it by accounting VLAN header in CPSW min eth packet size. While
      here, use proper defines for CPSW_MAX_PACKET_SIZE also, instead of open
      coding.
      Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9421c901
    • A
      ipv6: sr: update the struct ipv6_sr_hdr · 6ab6a0dd
      Ahmed Abdelsalam 提交于
      The IPv6 Segment Routing Header (SRH) format has been updated (revision 6
      of the SRH ietf draft). The update includes the following SRH fields:
      
      (1) The "First Segment" field changed to be "Last Entry" which contains
      the index, in the Segment List, of the last element of the Segment List.
      
      (2) The 16 bit "reserved" field now is used as a "tag" which tags a packet
      as part of a class or group of packets, e.g.,packets sharing the same
      set of properties.
      
      This patch updates the struct ipv6_sr_hdr, so it complies with the updated
      SRH draft. The 16 bit "reserved" field is changed to be "tag", In addition
      a comment is added to the "first_segment" field, showing that it represents
      the "Last Entry" field of the SRH.
      Signed-off-by: NAhmed Abdelsalam <amsalam20@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6ab6a0dd
    • V
      hv_netvsc: preserve hw_features on mtu/channels/ringparam changes · aefd80e8
      Vitaly Kuznetsov 提交于
      rndis_filter_device_add() is called both from netvsc_probe() when we
      initially create the device and from set channels/mtu/ringparam
      routines where we basically remove the device and add it back.
      
      hw_features is reset in rndis_filter_device_add() and filled with
      host data. However, we lose all additional flags which are set outside
      of the driver, e.g. register_netdevice() adds NETIF_F_SOFT_FEATURES and
      many others.
      
      Unfortunately, calls to rndis_{query_hwcaps(), _set_offload_params()}
      calls cannot be avoided on every RNDIS reset: host expects us to set
      required features explicitly. Moreover, in theory hardware capabilities
      can change and we need to reflect the change in hw_features.
      
      Reset net->hw_features bits according to host data in
      rndis_netdev_set_hwcaps(), clear corresponding feature bits
      from net->features in case some features went missing (will never happen
      in real life I guess but let's be consistent).
      Signed-off-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aefd80e8
    • C
      qed: use kzalloc instead of kmalloc and memset · c61a75ac
      Colin Ian King 提交于
      Replace kmalloc followed by a memset with kzalloc
      Signed-off-by: NColin Ian King <colin.king@canonical.com>
      Acked-by: NAriel Elior <aelior@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c61a75ac
    • M
      genetlink: fix genlmsg_nlhdr() · 0a833c29
      Michal Kubecek 提交于
      According to the description, first argument of genlmsg_nlhdr() points to
      what genlmsg_put() returns, i.e. beginning of user header. Therefore we
      should only subtract size of genetlink header and netlink message header,
      not user header.
      
      This also means we don't need to pass the pointer to genetlink family and
      the same is true for genl_dump_check_consistent() which is the only caller
      of genlmsg_nlhdr(). (Note that at the moment, these functions are only
      used for families which do not have user header so that they are not
      affected.)
      
      Fixes: 670dc283 ("netlink: advertise incomplete dumps")
      Signed-off-by: NMichal Kubecek <mkubecek@suse.cz>
      Reviewed-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0a833c29
    • X
      sctp: check stream reset info len before making reconf chunk · 423852f8
      Xin Long 提交于
      Now when resetting stream, if both in and out flags are set, the info
      len can reach:
        sizeof(struct sctp_strreset_outreq) + SCTP_MAX_STREAM(65535) +
        sizeof(struct sctp_strreset_inreq)  + SCTP_MAX_STREAM(65535)
      even without duplicated stream no, this value is far greater than the
      chunk's max size.
      
      _sctp_make_chunk doesn't do any check for this, which would cause the
      skb it allocs is huge, syzbot even reported a crash due to this.
      
      This patch is to check stream reset info len before making reconf
      chunk and return EINVAL if the len exceeds chunk's capacity.
      
      Thanks Marcelo and Neil for making this clear.
      
      v1->v2:
        - move the check into sctp_send_reset_streams instead.
      
      Fixes: cc16f00f ("sctp: add support for generating stream reconf ssn reset request chunk")
      Reported-by: NDmitry Vyukov <dvyukov@google.com>
      Signed-off-by: NXin Long <lucien.xin@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      423852f8
    • X
      sctp: use the right sk after waking up from wait_buf sleep · cea0cc80
      Xin Long 提交于
      Commit dfcb9f4f ("sctp: deny peeloff operation on asocs with threads
      sleeping on it") fixed the race between peeloff and wait sndbuf by
      checking waitqueue_active(&asoc->wait) in sctp_do_peeloff().
      
      But it actually doesn't work, as even if waitqueue_active returns false
      the waiting sndbuf thread may still not yet hold sk lock. After asoc is
      peeled off, sk is not asoc->base.sk any more, then to hold the old sk
      lock couldn't make assoc safe to access.
      
      This patch is to fix this by changing to hold the new sk lock if sk is
      not asoc->base.sk, meanwhile, also set the sk in sctp_sendmsg with the
      new sk.
      
      With this fix, there is no more race between peeloff and waitbuf, the
      check 'waitqueue_active' in sctp_do_peeloff can be removed.
      
      Thanks Marcelo and Neil for making this clear.
      
      v1->v2:
        fix it by changing to lock the new sock instead of adding a flag in asoc.
      Suggested-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NXin Long <lucien.xin@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cea0cc80
    • X
      sctp: do not free asoc when it is already dead in sctp_sendmsg · ca3af4dd
      Xin Long 提交于
      Now in sctp_sendmsg sctp_wait_for_sndbuf could schedule out without
      holding sock sk. It means the current asoc can be freed elsewhere,
      like when receiving an abort packet.
      
      If the asoc is just created in sctp_sendmsg and sctp_wait_for_sndbuf
      returns err, the asoc will be freed again due to new_asoc is not nil.
      An use-after-free issue would be triggered by this.
      
      This patch is to fix it by setting new_asoc with nil if the asoc is
      already dead when cpu schedules back, so that it will not be freed
      again in sctp_sendmsg.
      
      v1->v2:
        set new_asoc as nil in sctp_sendmsg instead of sctp_wait_for_sndbuf.
      Suggested-by: NNeil Horman <nhorman@tuxdriver.com>
      Reported-by: NDmitry Vyukov <dvyukov@google.com>
      Signed-off-by: NXin Long <lucien.xin@gmail.com>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ca3af4dd
    • L
      Merge tag 'ipmi-for-4.15' of git://github.com/cminyard/linux-ipmi · 6363b3f3
      Linus Torvalds 提交于
      Pull IPMI updates from Corey Minyard:
       "This is a fairly large rework of the IPMI code, along with a bunch of
        smaller fixes. The major changes have been in the next tree for a
        couple of months, so they should be good to do in.
      
         - Some users had IPMI systems where the GUID of the IPMI controller
           could change. So rescanning of the GUID was added. The naming of
           some sysfs things was dependent on the GUID, however, so this
           resulted in the sysfs interface code in IPMI changing to remove
           that dependency and name the IPMI BMCs like other sysfs devices.
      
         - The ipmi_si_intf.c code was fairly bloated with all the different
           discovery methods (PCI, ACPI, SMBIOS, OF, platform, module
           parameters, hot add). The structure of how the interfaces were
           added was redone to make them more modular, then the individual
           methods were pulled out into their own files"
      
      * tag 'ipmi-for-4.15' of git://github.com/cminyard/linux-ipmi: (48 commits)
        ipmi_si: Delete an error message for a failed memory allocation in try_smi_init()
        ipmi_si: fix memory leak on new_smi
        ipmi: remove redundant initialization of bmc
        ipmi: pr_err() strings should end with newlines
        ipmi: Clean up some print operations
        ipmi: Make the DMI probe into a generic platform probe
        ipmi: Make the IPMI proc interface configurable
        ipmi_ssif: Add device attrs for the things in proc
        ipmi_si: Add device attrs for the things in proc
        ipmi_si: remove ipmi_smi_alloc() function
        ipmi_si: Move port and mem I/O handling to their own files
        ipmi_si: Get rid of unused spacing and port fields
        ipmi_si: Move PARISC handling to another file
        ipmi_si: Move PCI setup to another file
        ipmi_si: Move platform device handling to another file
        ipmi_si: Move hardcode handling to a separate file.
        ipmi_si: Move the hotmod handling to another file.
        ipmi_si: Change ipmi_si_add_smi() to take just I/O info
        ipmi_si: Move io setup into io structure
        ipmi_si: Move irq setup handling into the io struct
        ...
      6363b3f3
    • L
      Merge tag 'pci-v4.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 1b6115fb
      Linus Torvalds 提交于
      Pull PCI updates from Bjorn Helgaas:
      
        - detach driver before tearing down procfs/sysfs (Alex Williamson)
      
        - disable PCIe services during shutdown (Sinan Kaya)
      
        - fix ASPM oops on systems with no Root Ports (Ard Biesheuvel)
      
        - fix ASPM LTR_L1.2_THRESHOLD programming (Bjorn Helgaas)
      
        - fix ASPM Common_Mode_Restore_Time computation (Bjorn Helgaas)
      
        - fix portdrv MSI/MSI-X vector allocation (Dongdong Liu, Bjorn
          Helgaas)
      
        - report non-fatal AER errors only to the affected endpoint (Gabriele
          Paoloni)
      
        - distribute bus numbers, MMIO, and I/O space among hotplug bridges to
          allow more devices to be hot-added (Mika Westerberg)
      
        - fix pciehp races during initialization and surprise link down (Mika
          Westerberg)
      
        - handle surprise-removed devices in PME handling (Qiang)
      
        - support resizable BARs for large graphics devices (Christian König)
      
        - expose SR-IOV offset, stride, and VF device ID via sysfs (Filippo
          Sironi)
      
        - create SR-IOV virtfn/physfn sysfs links before attaching driver
          (Stuart Hayes)
      
        - fix SR-IOV "ARI Capable Hierarchy" restore issue (Tony Nguyen)
      
        - enforce Kconfig IOV/REALLOC dependency (Sascha El-Sharkawy)
      
        - avoid slot reset if bridge itself is broken (Jan Glauber)
      
        - clean up pci_reset_function() path (Jan H. Schönherr)
      
        - make pci_map_rom() fail if the option ROM is invalid (Changbin Du)
      
        - convert timers to timer_setup() (Kees Cook)
      
        - move PCI_QUIRKS to PCI bus Kconfig menu (Randy Dunlap)
      
        - constify pci_dev_type and intel_mid_pci_ops (Bhumika Goyal)
      
        - remove unnecessary pci_dev, pci_bus, resource, pcibios_set_master()
          declarations (Bjorn Helgaas)
      
        - fix endpoint framework overflows and BUG()s (Dan Carpenter)
      
        - fix endpoint framework issues (Kishon Vijay Abraham I)
      
        - avoid broken Cavium CN8xxx bus reset behavior (David Daney)
      
        - extend Cavium ACS capability quirks (Vadim Lomovtsev)
      
        - support Synopsys DesignWare RC in ECAM mode (Ard Biesheuvel)
      
        - turn off dra7xx clocks cleanly on shutdown (Keerthy)
      
        - fix Faraday probe error path (Wei Yongjun)
      
        - support HiSilicon STB SoC PCIe host controller (Jianguo Sun)
      
        - fix Hyper-V interrupt affinity issue (Dexuan Cui)
      
        - remove useless ACPI warning for Hyper-V pass-through devices (Vitaly
          Kuznetsov)
      
        - support multiple MSI on iProc (Sandor Bodo-Merle)
      
        - support Layerscape LS1012a and LS1046a PCIe host controllers (Hou
          Zhiqiang)
      
        - fix Layerscape default error response (Minghuan Lian)
      
        - support MSI on Tango host controller (Marc Gonzalez)
      
        - support Tegra186 PCIe host controller (Manikanta Maddireddy)
      
        - use generic accessors on Tegra when possible (Thierry Reding)
      
        - support V3 Semiconductor PCI host controller (Linus Walleij)
      
      * tag 'pci-v4.15-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (85 commits)
        PCI/ASPM: Add L1 Substates definitions
        PCI/ASPM: Reformat ASPM register definitions
        PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD
        PCI/ASPM: Account for downstream device's Port Common_Mode_Restore_Time
        PCI: xgene: Rename xgene_pcie_probe_bridge() to xgene_pcie_probe()
        PCI: xilinx: Rename xilinx_pcie_link_is_up() to xilinx_pcie_link_up()
        PCI: altera: Rename altera_pcie_link_is_up() to altera_pcie_link_up()
        PCI: Fix kernel-doc build warning
        PCI: Fail pci_map_rom() if the option ROM is invalid
        PCI: Move pci_map_rom() error path
        PCI: Move PCI_QUIRKS to the PCI bus menu
        alpha/PCI: Make pdev_save_srm_config() static
        PCI: Remove unused declarations
        PCI: Remove redundant pci_dev, pci_bus, resource declarations
        PCI: Remove redundant pcibios_set_master() declarations
        PCI/PME: Handle invalid data when reading Root Status
        PCI: hv: Use effective affinity mask
        PCI: pciehp: Do not clear Presence Detect Changed during initialization
        PCI: pciehp: Fix race condition handling surprise link down
        PCI: Distribute available resources to hotplug-capable bridges
        ...
      1b6115fb
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · ad0835a9
      Linus Torvalds 提交于
      Pull rdma updates from Doug Ledford:
       "This is a fairly plain pull request. Lots of driver updates across the
        stack, a huge number of static analysis cleanups including a close to
        50 patch series from Bart Van Assche, and a number of new features
        inside the stack such as general CQ moderation support.
      
        Nothing really stands out, but there might be a few conflicts as you
        take things in. In particular, the cleanups touched some of the same
        lines as the new timer_setup changes.
      
        Everything in this pull request has been through 0day and at least two
        days of linux-next (since Stephen doesn't necessarily flag new
        errors/warnings until day2). A few more items (about 30 patches) from
        Intel and Mellanox showed up on the list on Tuesday. I've excluded
        those from this pull request, and I'm sure some of them qualify as
        fixes suitable to send any time, but I still have to review them
        fully. If they contain mostly fixes and little or no new development,
        then I will probably send them through by the end of the week just to
        get them out of the way.
      
        There was a break in my acceptance of patches which coincides with the
        computer problems I had, and then when I got things mostly back under
        control I had a backlog of patches to process, which I did mostly last
        Friday and Monday. So there is a larger number of patches processed in
        that timeframe than I was striving for.
      
        Summary:
         - Add iWARP support to qedr driver
         - Lots of misc fixes across subsystem
         - Multiple update series to hns roce driver
         - Multiple update series to hfi1 driver
         - Updates to vnic driver
         - Add kref to wait struct in cxgb4 driver
         - Updates to i40iw driver
         - Mellanox shared pull request
         - timer_setup changes
         - massive cleanup series from Bart Van Assche
         - Two series of SRP/SRPT changes from Bart Van Assche
         - Core updates from Mellanox
         - i40iw updates
         - IPoIB updates
         - mlx5 updates
         - mlx4 updates
         - hns updates
         - bnxt_re fixes
         - PCI write padding support
         - Sparse/Smatch/warning cleanups/fixes
         - CQ moderation support
         - SRQ support in vmw_pvrdma"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (296 commits)
        RDMA/core: Rename kernel modify_cq to better describe its usage
        IB/mlx5: Add CQ moderation capability to query_device
        IB/mlx4: Add CQ moderation capability to query_device
        IB/uverbs: Add CQ moderation capability to query_device
        IB/mlx5: Exposing modify CQ callback to uverbs layer
        IB/mlx4: Exposing modify CQ callback to uverbs layer
        IB/uverbs: Allow CQ moderation with modify CQ
        iw_cxgb4: atomically flush the qp
        iw_cxgb4: only call the cq comp_handler when the cq is armed
        iw_cxgb4: Fix possible circular dependency locking warning
        RDMA/bnxt_re: report vlan_id and sl in qp1 recv completion
        IB/core: Only maintain real QPs in the security lists
        IB/ocrdma_hw: remove unnecessary code in ocrdma_mbx_dealloc_lkey
        RDMA/core: Make function rdma_copy_addr return void
        RDMA/vmw_pvrdma: Add shared receive queue support
        RDMA/core: avoid uninitialized variable warning in create_udata
        RDMA/bnxt_re: synchronize poll_cq and req_notify_cq verbs
        RDMA/bnxt_re: Flush CQ notification Work Queue before destroying QP
        RDMA/bnxt_re: Set QP state in case of response completion errors
        RDMA/bnxt_re: Add memory barriers when processing CQ/EQ entries
        ...
      ad0835a9
    • L
      Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 22714a2b
      Linus Torvalds 提交于
      Pull cgroup updates from Tejun Heo:
       "Cgroup2 cpu controller support is finally merged.
      
         - Basic cpu statistics support to allow monitoring by default without
           the CPU controller enabled.
      
         - cgroup2 cpu controller support.
      
         - /sys/kernel/cgroup files to help dealing with new / optional
           features"
      
      * 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: export list of cgroups v2 features using sysfs
        cgroup: export list of delegatable control files using sysfs
        cgroup: mark @cgrp __maybe_unused in cpu_stat_show()
        MAINTAINERS: relocate cpuset.c
        cgroup, sched: Move basic cpu stats from cgroup.stat to cpu.stat
        sched: Implement interface for cgroup unified hierarchy
        sched: Misc preps for cgroup unified hierarchy interface
        sched/cputime: Add dummy cputime_adjust() implementation for CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
        cgroup: statically initialize init_css_set->dfl_cgrp
        cgroup: Implement cgroup2 basic CPU usage accounting
        cpuacct: Introduce cgroup_account_cputime[_field]()
        sched/cputime: Expose cputime_adjust()
      22714a2b
    • L
      Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 766ec76a
      Linus Torvalds 提交于
      Pull percpu update from Tejun Heo:
       "Another minor pull request. It only contains one commit which can
        reclaim a bit of memory wasted during boot on UP"
      
      * 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: don't forget to free the temporary struct pcpu_alloc_info
      766ec76a
    • L
      Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 0be50036
      Linus Torvalds 提交于
      Pull workqueue updates from Tejun Heo:
       "There was a commit to make unbound kworkers respect cpu isolation but
        it conflicted with the restructuring of cpu isolation and got
        reverted, so the only thing left is the trivial comment fix.
      
        Will retry the cpu isolation change after this merge window"
      
      * 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Fix comment for unbound workqueue's attrbutes
        Revert "workqueue: respect isolated cpus when queueing an unbound work"
        workqueue: respect isolated cpus when queueing an unbound work
      0be50036
    • L
      Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 1bc03573
      Linus Torvalds 提交于
      Pull libata updates from Tejun Heo:
       "Nothing too interesting or alarming. Other than a new power saving
        mode addition to ahci and crash fix on a tracepoint, all changes are
        trivial or device-specific"
      
      * 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (22 commits)
        ahci: imx: Handle increased read failures for IMX53 temperature sensor in low frequency mode.
        ata: sata_dwc_460ex: Propagate platform device ID to DMA driver
        ata: fixes kernel crash while tracing ata_eh_link_autopsy event
        ata: pata_pdc2027x: Fix space before '[' error.
        libata: fix spelling mistake: 'ambigious' -> 'ambiguous'
        ata: ceva: Add SMMU support for SATA IP
        ata: ceva: Correct the suspend and resume logic for SATA
        ata: ceva: Correct the AXI bus configuration for SATA ports
        ata: ceva: Add CCI support for SATA if CCI is enabled
        ata: ceva: Make RxWaterMark value as module parameter
        ata: ceva: Disable Device Sleep capability
        ata: ceva: Add gen 3 mode support in driver
        ata: ceva: Move sata port phy oob settings to device-tree
        devicetree: bindings: Add sata port phy config parameters in ahci-ceva
        ata: mark expected switch fall-throughs
        ata: sata_mv: remove a redundant assignment to pointer ehi
        ahci: Add support for Cavium's fifth generation SATA controller
        ata: sata_rcar: Use of_device_get_match_data() helper
        libata: make ata_port_type const
        libata: make static arrays const, reduces object code size
        ...
      1bc03573
    • L
      Merge tag 'modules-for-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 1be2172e
      Linus Torvalds 提交于
      Pull module updates from Jessica Yu:
       "Summary of modules changes for the 4.15 merge window:
      
         - treewide module_param_call() cleanup, fix up set/get function
           prototype mismatches, from Kees Cook
      
         - minor code cleanups"
      
      * tag 'modules-for-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: Do not paper over type mismatches in module_param_call()
        treewide: Fix function prototypes for module_param_call()
        module: Prepare to convert all module_param_call() prototypes
        kernel/module: Delete an error message for a failed memory allocation in add_module_usage()
      1be2172e
    • L
      Merge tag 'mailbox-v4.15' of git://git.linaro.org/landing-teams/working/fujitsu/integration · 3c18767a
      Linus Torvalds 提交于
      Pull mailbox updates from Jassi Brar:
       "Change to POLL api and fixes for FlexRM and OMAP driver.
      
        Summary:
      
         - Core: Prefer ACK method over POLL, if both supported
      
         - Test: use flag instead of special character
      
         - FlexRM: Usual driver internal minor churn
      
         - Omap: fix error path"
      
      * tag 'mailbox-v4.15' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        mailbox/omap: unregister mbox class
        mailbox: mailbox-test: don't rely on rx_buffer content to signal data ready
        mailbox: reset txdone_method TXDONE_BY_POLL if client knows_txdone
        mailbox: Build Broadcom FlexRM driver as loadable module for iProc SOCs
        mailbox: bcm-flexrm-mailbox: Use common GPL comment header
        mailbox: bcm-flexrm-mailbox: add depends on ARCH_BCM_IPROC
        mailbox: bcm-flexrm-mailbox: Print ring number in errors and warnings
        mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush sequence
      3c18767a
    • L
      Merge tag 'for-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 19b9aaf8
      Linus Torvalds 提交于
      Pull power supply and reset updates from Sebastian Reichel:
      
       - misc minor fixes
      
      * tag 'for-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
        power: supply: cpcap-charger: fix incorrect return value check
        power: supply: replace pr_* with dev_*
        power: supply: pcf50633-charger: remove redundant variable charging_start
        power: supply: generic-adc-battery: remove redundant variable pdata
        power: supply: max8997: Improve a size determination in probe
      19b9aaf8
    • L
      Merge tag 'hsi-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 6c4ba00c
      Linus Torvalds 提交于
      Pull HSI updates from Sebastian Reichel:
      
       - add HSI OMAP4 bindings
      
       - misc small fixes
      
      * tag 'hsi-for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        dt-bindings: hsi: add omap4 hsi controller bindings
        HSI: hsi_char: pr_err() strings should end with newlines
        HSI: omap_ssi_core: fix kilo to be "k" not "K"
      6c4ba00c
    • L
      Merge tag 'selinux-pr-20171113' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 8c38fb5c
      Linus Torvalds 提交于
      Pull SELinux updates from Paul Moore:
       "Seven SELinux patches for v4.15, although five of the seven are small
        build fixes and cleanups.
      
        Of the remaining two patches, the only one worth really calling out is
        Eric's fix for the SELinux filesystem xattr set/remove code; the other
        patch simply converts the SELinux hash table implementation to use
        kmem_cache.
      
        Eric's setxattr/removexattr tweak converts SELinux back to calling the
        commoncap implementations when the xattr is not SELinux related. The
        immediate win is to fixup filesystem capabilities in user namespaces,
        but it makes things a bit saner overall; more information in the
        commit description"
      
      * tag 'selinux-pr-20171113' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: remove extraneous initialization of slots_used and max_chain_len
        selinux: remove redundant assignment to len
        selinux: remove redundant assignment to str
        selinux: fix build warning
        selinux: fix build warning by removing the unused sid variable
        selinux: Perform both commoncap and selinux xattr checks
        selinux: Use kmem_cache for hashtab_node
      8c38fb5c
    • L
      Merge tag 'audit-pr-20171113' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · f9bab267
      Linus Torvalds 提交于
      Pull audit updates from Paul Moore:
       "Another relatively small pull request for audit, nine patches total.
      
        The only real new bit of functionality is the patch from Richard which
        adds the ability to filter records based on the filesystem type.
      
        The remainder are bug fixes and cleanups; the bug fix highlights
        include:
      
         - ensuring that we properly audit init/PID-1 (me)
      
         - allowing the audit daemon to shutdown the kernel/auditd connection
           cleanly by setting the audit PID to zero (Steve)"
      
      * tag 'audit-pr-20171113' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: filter PATH records keyed on filesystem magic
        Audit: remove unused audit_log_secctx function
        audit: Allow auditd to set pid to 0 to end auditing
        audit: Add new syscalls to the perm=w filter
        audit: use audit_set_enabled() in audit_enable()
        audit: convert audit_ever_enabled to a boolean
        audit: don't use simple_strtol() anymore
        audit: initialize the audit subsystem as early as possible
        audit: ensure that 'audit=1' actually enables audit for PID 1
      f9bab267
    • J
      mm/pagewalk.c: report holes in hugetlb ranges · 373c4557
      Jann Horn 提交于
      This matters at least for the mincore syscall, which will otherwise copy
      uninitialized memory from the page allocator to userspace.  It is
      probably also a correctness error for /proc/$pid/pagemap, but I haven't
      tested that.
      
      Removing the `walk->hugetlb_entry` condition in walk_hugetlb_range() has
      no effect because the caller already checks for that.
      
      This only reports holes in hugetlb ranges to callers who have specified
      a hugetlb_entry callback.
      
      This issue was found using an AFL-based fuzzer.
      
      v2:
       - don't crash on ->pte_hole==NULL (Andrew Morton)
       - add Cc stable (Andrew Morton)
      
      Fixes: 1e25a271 ("mincore: apply page table walker on do_mincore()")
      Signed-off-by: NJann Horn <jannh@google.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      373c4557