)]}'
{
  "log": [
    {
      "commit": "77d2e05abd45886dcad2b632c738cf46b9f7c19e",
      "tree": "dab2d5beef6275329e8ed3dbaff7f720d6f05f6c",
      "parents": [
        "b9193c1b61ddb97da4713155b0d580e41fb544ac"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Sat Mar 24 11:44:23 2018 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Mar 26 09:58:17 2018 +0200"
      },
      "message": "bpf: Add bpf_verifier_vlog() and bpf_verifier_log_needed()\n\nThe BTF (BPF Type Format) verifier needs to reuse the current\nBPF verifier log.  Hence, it requires the following changes:\n\n(1) Expose log_write() in verifier.c for other users.\n    Its name is renamed to bpf_verifier_vlog().\n\n(2) The BTF verifier also needs to check\n\u0027log-\u003elevel \u0026\u0026 log-\u003eubuf \u0026\u0026 !bpf_verifier_log_full(log);\u0027\nindependently outside of the current log_write().  It is\nbecause the BTF verifier will do one-check before\nmaking multiple calls to btf_verifier_vlog to log\nthe details of a type.\n\nHence, this check is also re-factored to a new function\nbpf_verifier_log_needed().  Since it is re-factored,\nwe can check it before va_start() in the current\nbpf_verifier_log_write() and verbose().\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nAcked-by: Alexei Starovoitov \u003cast@fb.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "b9193c1b61ddb97da4713155b0d580e41fb544ac",
      "tree": "a9da46bb95a9adff5379b41b79cb2012d99a374c",
      "parents": [
        "639a53da7c8cea7e476fed5e9ce6b1fa1bcce05a"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Sat Mar 24 11:44:22 2018 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Mar 26 09:58:17 2018 +0200"
      },
      "message": "bpf: Rename bpf_verifer_log\n\nbpf_verifer_log \u003d\u003e\nbpf_verifier_log\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nAcked-by: Alexei Starovoitov \u003cast@fb.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "03fe2debbb2771fb90881e4ce8109b09cf772a5c",
      "tree": "fbaf8738296b2e9dcba81c6daef2d515b6c4948c",
      "parents": [
        "6686c459e1449a3ee5f3fd313b0a559ace7a700e",
        "f36b7534b83357cf52e747905de6d65b4f7c2512"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 23 11:24:57 2018 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 23 11:31:58 2018 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nFun set of conflict resolutions here...\n\nFor the mac80211 stuff, these were fortunately just parallel\nadds.  Trivially resolved.\n\nIn drivers/net/phy/phy.c we had a bug fix in \u0027net\u0027 that moved the\nfunction phy_disable_interrupts() earlier in the file, whilst in\n\u0027net-next\u0027 the phy_error() call from this function was removed.\n\nIn net/ipv4/xfrm4_policy.c, David Ahern\u0027s changes to remove the\n\u0027rt_table_id\u0027 member of rtable collided with a bug fix in \u0027net\u0027 that\nadded a new struct member \"rt_mtu_locked\" which needs to be copied\nover here.\n\nThe mlxsw driver conflict consisted of net-next separating\nthe span code and definitions into separate files, whilst\na \u0027net\u0027 bug fix made some changes to that moved code.\n\nThe mlx5 infiniband conflict resolution was quite non-trivial,\nthe RDMA tree\u0027s merge commit was used as a guide here, and\nhere are their notes:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n    Due to bug fixes found by the syzkaller bot and taken into the for-rc\n    branch after development for the 4.17 merge window had already started\n    being taken into the for-next branch, there were fairly non-trivial\n    merge issues that would need to be resolved between the for-rc branch\n    and the for-next branch.  This merge resolves those conflicts and\n    provides a unified base upon which ongoing development for 4.17 can\n    be based.\n\n    Conflicts:\n            drivers/infiniband/hw/mlx5/main.c - Commit 42cea83f9524\n            (IB/mlx5: Fix cleanup order on unload) added to for-rc and\n            commit b5ca15ad7e61 (IB/mlx5: Add proper representors support)\n            add as part of the devel cycle both needed to modify the\n            init/de-init functions used by mlx5.  To support the new\n            representors, the new functions added by the cleanup patch\n            needed to be made non-static, and the init/de-init list\n            added by the representors patch needed to be modified to\n            match the init/de-init list changes made by the cleanup\n            patch.\n    Updates:\n            drivers/infiniband/hw/mlx5/mlx5_ib.h - Update function\n            prototypes added by representors patch to reflect new function\n            names as changed by cleanup patch\n            drivers/infiniband/hw/mlx5/ib_rep.c - Update init/de-init\n            stage list to match new order from cleanup patch\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f36b7534b83357cf52e747905de6d65b4f7c2512",
      "tree": "ca52ebdc4aaa738bd464b22a06ed034e41c46acb",
      "parents": [
        "8401c72c593d2be8607d2a0a4551ee5c867d6f2f",
        "9d3c3354bb85bab4d865fe95039443f09a4c8394"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 18:48:43 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 18:48:43 2018 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (patches from Andrew)\n\nMerge misc fixes from Andrew Morton:\n \"13 fixes\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e:\n  mm, thp: do not cause memcg oom for thp\n  mm/vmscan: wake up flushers for legacy cgroups too\n  Revert \"mm: page_alloc: skip over regions of invalid pfns where possible\"\n  mm/shmem: do not wait for lock_page() in shmem_unused_huge_shrink()\n  mm/thp: do not wait for lock_page() in deferred_split_scan()\n  mm/khugepaged.c: convert VM_BUG_ON() to collapse fail\n  x86/mm: implement free pmd/pte page interfaces\n  mm/vmalloc: add interfaces to free unmapped page table\n  h8300: remove extraneous __BIG_ENDIAN definition\n  hugetlbfs: check for pgoff value overflow\n  lockdep: fix fs_reclaim warning\n  MAINTAINERS: update Mark Fasheh\u0027s e-mail\n  mm/mempolicy.c: avoid use uninitialized preferred_node\n"
    },
    {
      "commit": "f59f1caf72ba00d519c793c3deb32cd3be32edc2",
      "tree": "c07a9b58ac4d82e6c00bedf1a8055936e54741c5",
      "parents": [
        "b3cd54b257ad95d344d121dc563d943ca39b0921"
      ],
      "author": {
        "name": "Daniel Vacek",
        "email": "neelx@redhat.com",
        "time": "Thu Mar 22 16:17:38 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 17:07:01 2018 -0700"
      },
      "message": "Revert \"mm: page_alloc: skip over regions of invalid pfns where possible\"\n\nThis reverts commit b92df1de5d28 (\"mm: page_alloc: skip over regions of\ninvalid pfns where possible\").  The commit is meant to be a boot init\nspeed up skipping the loop in memmap_init_zone() for invalid pfns.\n\nBut given some specific memory mapping on x86_64 (or more generally\ntheoretically anywhere but on arm with CONFIG_HAVE_ARCH_PFN_VALID) the\nimplementation also skips valid pfns which is plain wrong and causes\n\u0027kernel BUG at mm/page_alloc.c:1389!\u0027\n\n  crash\u003e log | grep -e BUG -e RIP -e Call.Trace -e move_freepages_block -e rmqueue -e freelist -A1\n  kernel BUG at mm/page_alloc.c:1389!\n  invalid opcode: 0000 [#1] SMP\n  --\n  RIP: 0010: move_freepages+0x15e/0x160\n  --\n  Call Trace:\n    move_freepages_block+0x73/0x80\n    __rmqueue+0x263/0x460\n    get_page_from_freelist+0x7e1/0x9e0\n    __alloc_pages_nodemask+0x176/0x420\n  --\n\n  crash\u003e page_init_bug -v | grep RAM\n  \u003cstruct resource 0xffff88067fffd2f8\u003e          1000 -        9bfff       System RAM (620.00 KiB)\n  \u003cstruct resource 0xffff88067fffd3a0\u003e        100000 -     430bffff       System RAM (  1.05 GiB \u003d 1071.75 MiB \u003d 1097472.00 KiB)\n  \u003cstruct resource 0xffff88067fffd410\u003e      4b0c8000 -     4bf9cfff       System RAM ( 14.83 MiB \u003d 15188.00 KiB)\n  \u003cstruct resource 0xffff88067fffd480\u003e      4bfac000 -     646b1fff       System RAM (391.02 MiB \u003d 400408.00 KiB)\n  \u003cstruct resource 0xffff88067fffd560\u003e      7b788000 -     7b7fffff       System RAM (480.00 KiB)\n  \u003cstruct resource 0xffff88067fffd640\u003e     100000000 -    67fffffff       System RAM ( 22.00 GiB)\n\n  crash\u003e page_init_bug | head -6\n  \u003cstruct resource 0xffff88067fffd560\u003e      7b788000 -     7b7fffff       System RAM (480.00 KiB)\n  \u003cstruct page 0xffffea0001ede200\u003e   1fffff00000000  0 \u003cstruct pglist_data 0xffff88047ffd9000\u003e 1 \u003cstruct zone 0xffff88047ffd9800\u003e DMA32          4096    1048575\n  \u003cstruct page 0xffffea0001ede200\u003e       505736 505344 \u003cstruct page 0xffffea0001ed8000\u003e 505855 \u003cstruct page 0xffffea0001edffc0\u003e\n  \u003cstruct page 0xffffea0001ed8000\u003e                0  0 \u003cstruct pglist_data 0xffff88047ffd9000\u003e 0 \u003cstruct zone 0xffff88047ffd9000\u003e DMA               1       4095\n  \u003cstruct page 0xffffea0001edffc0\u003e   1fffff00000400  0 \u003cstruct pglist_data 0xffff88047ffd9000\u003e 1 \u003cstruct zone 0xffff88047ffd9800\u003e DMA32          4096    1048575\n  BUG, zones differ!\n\n  crash\u003e kmem -p 77fff000 78000000 7b5ff000 7b600000 7b787000 7b788000\n        PAGE        PHYSICAL      MAPPING       INDEX CNT FLAGS\n  ffffea0001e00000  78000000                0        0  0 0\n  ffffea0001ed7fc0  7b5ff000                0        0  0 0\n  ffffea0001ed8000  7b600000                0        0  0 0       \u003c\u003c\u003c\u003c\n  ffffea0001ede1c0  7b787000                0        0  0 0\n  ffffea0001ede200  7b788000                0        0  1 1fffff00000000\n\nLink: http://lkml.kernel.org/r/20180316143855.29838-1-neelx@redhat.com\nFixes: b92df1de5d28 (\"mm: page_alloc: skip over regions of invalid pfns where possible\")\nSigned-off-by: Daniel Vacek \u003cneelx@redhat.com\u003e\nAcked-by: Ard Biesheuvel \u003card.biesheuvel@linaro.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.com\u003e\nReviewed-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Vlastimil Babka \u003cvbabka@suse.cz\u003e\nCc: Mel Gorman \u003cmgorman@techsingularity.net\u003e\nCc: Pavel Tatashin \u003cpasha.tatashin@oracle.com\u003e\nCc: Paul Burton \u003cpaul.burton@imgtec.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4f4d2f917729e9b7b8bb452bf4971be93e7a15f",
      "tree": "691950e6096068c9909f6864ba1cd0f20de91cad",
      "parents": [
        "9ce207880d8e4b20b6c1bcd82c749970c2b9e6d2",
        "5dcd8400884cc4a043a6d4617e042489e5d566a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 14:10:29 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 14:10:29 2018 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Always validate XFRM esn replay attribute, from Florian Westphal.\n\n 2) Fix RCU read lock imbalance in xfrm_get_tos(), from Xin Long.\n\n 3) Don\u0027t try to get firmware dump if not loaded in iwlwifi, from Shaul\n    Triebitz.\n\n 4) Fix BPF helpers to deal with SCTP GSO SKBs properly, from Daniel\n    Axtens.\n\n 5) Fix some interrupt handling issues in e1000e driver, from Benjamin\n    Poitier.\n\n 6) Use strlcpy() in several ethtool get_strings methods, from Florian\n    Fainelli.\n\n 7) Fix rhlist dup insertion, from Paul Blakey.\n\n 8) Fix SKB leak in netem packet scheduler, from Alexey Kodanev.\n\n 9) Fix driver unload crash when link is up in smsc911x, from Jeremy\n    Linton.\n\n10) Purge out invalid socket types in l2tp_tunnel_create(), from Eric\n    Dumazet.\n\n11) Need to purge the write queue when TCP connections are aborted,\n    otherwise userspace using MSG_ZEROCOPY can\u0027t close the fd. From\n    Soheil Hassas Yeganeh.\n\n12) Fix double free in error path of team driver, from Arkadi\n    Sharshevsky.\n\n13) Filter fixes for hv_netvsc driver, from Stephen Hemminger.\n\n14) Fix non-linear packet access in ipv6 ndisc code, from Lorenzo\n    Bianconi.\n\n15) Properly filter out unsupported feature flags in macvlan driver,\n    from Shannon Nelson.\n\n16) Don\u0027t request loading the diag module for a protocol if the protocol\n    itself is not even registered. From Xin Long.\n\n17) If datagram connect fails in ipv6, make sure the socket state is\n    consistent afterwards. From Paolo Abeni.\n\n18) Use after free in qed driver, from Dan Carpenter.\n\n19) If received ipv4 PMTU is less than the min pmtu, lock the mtu in the\n    entry. From Sabrina Dubroca.\n\n20) Fix sleep in atomic in tg3 driver, from Jonathan Toppins.\n\n21) Fix vlan in vlan untagging in some situations, from Toshiaki Makita.\n\n22) Fix double SKB free in genlmsg_mcast(). From Nicolas Dichtel.\n\n23) Fix NULL derefs in error paths of tcf_*_init(), from Davide Caratti.\n\n24) Unbalanced PM runtime calls in FEC driver, from Florian Fainelli.\n\n25) Memory leak in gemini driver, from Igor Pylypiv.\n\n26) IDR leaks in error paths of tcf_*_init() functions, from Davide\n    Caratti.\n\n27) Need to use GFP_ATOMIC in seg6_build_state(), from David Lebrun.\n\n28) Missing dev_put() in error path of macsec_newlink(), from Dan\n    Carpenter.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (201 commits)\n  macsec: missing dev_put() on error in macsec_newlink()\n  net: dsa: Fix functional dsa-loop dependency on FIXED_PHY\n  hv_netvsc: common detach logic\n  hv_netvsc: change GPAD teardown order on older versions\n  hv_netvsc: use RCU to fix concurrent rx and queue changes\n  hv_netvsc: disable NAPI before channel close\n  net/ipv6: Handle onlink flag with multipath routes\n  ppp: avoid loop in xmit recursion detection code\n  ipv6: sr: fix NULL pointer dereference when setting encap source address\n  ipv6: sr: fix scheduling in RCU when creating seg6 lwtunnel state\n  net: aquantia: driver version bump\n  net: aquantia: Implement pci shutdown callback\n  net: aquantia: Allow live mac address changes\n  net: aquantia: Add tx clean budget and valid budget handling logic\n  net: aquantia: Change inefficient wait loop on fw data reads\n  net: aquantia: Fix a regression with reset on old firmware\n  net: aquantia: Fix hardware reset when SPI may rarely hangup\n  s390/qeth: on channel error, reject further cmd requests\n  s390/qeth: lock read device while queueing next buffer\n  s390/qeth: when thread completes, wake up all waiters\n  ...\n"
    },
    {
      "commit": "5df7af85ecd88e8b5f1f31d6456c3cf38a8bbdda",
      "tree": "c9d7e9ff21610ab5735d9f4641dc0c870cd3d6e0",
      "parents": [
        "ee54a9f9ae3218b4b249a5356f10534575ed56e2"
      ],
      "author": {
        "name": "Kevin Hao",
        "email": "haokexin@gmail.com",
        "time": "Tue Mar 20 09:44:52 2018 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 22 11:41:07 2018 -0400"
      },
      "message": "net: phy: Add general dummy stubs for MMD register access\n\nFor some phy devices, even though they don\u0027t support the MMD extended\nregister access, it does have some side effect if we are trying to\nread/write the MMD registers via indirect method. So introduce general\ndummy stubs for MMD register access which these devices can use to avoid\nsuch side effect.\n\nFixes: b6b5e8a69118 (\"gianfar: Disable EEE autoneg by default\")\nSigned-off-by: Kevin Hao \u003chaokexin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "454bfe97837a3e3a5a15b768f8293f228e0f2f06",
      "tree": "7ec9cbb8532f58e54be0d74e425edc76f74aaf51",
      "parents": [
        "0466080c751ec2de9efae3ac6305225cc4326047",
        "78262f4575c29f185947fe58952cd1beabc74f82"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 21 12:08:01 2018 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 21 12:08:01 2018 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next\n\nDaniel Borkmann says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npull-request: bpf-next 2018-03-21\n\nThe following pull-request contains BPF updates for your *net-next* tree.\n\nThe main changes are:\n\n1) Add a BPF hook for sendmsg and sendfile by reusing the ULP infrastructure\n   and sockmap. Three helpers are added along with this, bpf_msg_apply_bytes(),\n   bpf_msg_cork_bytes(), and bpf_msg_pull_data(). The first is used to tell\n   for how many bytes the verdict should be applied to, the second to tell\n   that x bytes need to be queued first to retrigger the BPF program for a\n   verdict, and the third helper is mainly for the sendfile case to pull in\n   data for making it private for reading and/or writing, from John.\n\n2) Improve address to symbol resolution of user stack traces in BPF stackmap.\n   Currently, the latter stores the address for each entry in the call trace,\n   however to map these addresses to user space files, it is necessary to\n   maintain the mapping from these virtual addresses to symbols in the binary\n   which is not practical for system-wide profiling. Instead, this option for\n   the stackmap rather stores the ELF build id and offset for the call trace\n   entries, from Song.\n\n3) Add support that allows BPF programs attached to perf events to read the\n   address values recorded with the perf events. They are requested through\n   PERF_SAMPLE_ADDR via perf_event_open(). Main motivation behind it is to\n   support building memory or lock access profiling and tracing tools with\n   the help of BPF, from Teng.\n\n4) Several improvements to the tools/bpf/ Makefiles. The \u0027make bpf\u0027 in the\n   tools directory does not provide the standard quiet output except for\n   bpftool and it also does not respect specifying a build output directory.\n   \u0027make bpf_install\u0027 command neither respects specified destination nor\n   prefix, all from Jiri. In addition, Jakub fixes several other minor issues\n   in the Makefiles on top of that, e.g. fixing dependency paths, phony\n   targets and more.\n\n5) Various doc updates e.g. add a comment for BPF fs about reserved names\n   to make the dentry lookup from there a bit more obvious, and a comment\n   to the bpf_devel_QA file in order to explain the diff between native\n   and bpf target clang usage with regards to pointer size, from Quentin\n   and Daniel.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "303851e14a8f6d299708ca706bd3bc4846741258",
      "tree": "baa6da8e66a1a54b3131476bd5fd037cbd7ef342",
      "parents": [
        "76c0b6a36a1239494a5ae3c0dc83208a8112c483",
        "e8980d67d6017c8eee8f9c35f782c4bd68e004c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 17:39:07 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 17:39:07 2018 -0700"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma\n\nPull rdma fixes from Jason Gunthorpe:\n \"Not much exciting here, almost entirely syzkaller fixes.\n\n  This is going to be on ongoing theme for some time, I think. Both\n  Google and Mellanox are now running syzkaller on different parts of\n  the user API.\n\n  Summary:\n\n   - Many bug fixes related to syzkaller from Leon Romanovsky. These are\n     still for the mlx driver and ucma interface.\n\n   - Fix a situation with port reuse for iWarp, discovered during\n     scale-up testing\n\n   - Bug fixes for the profile and restrack patches accepted during this\n     merge window\n\n   - Compile warning cleanups from Arnd, this is apparently the last\n     warning to make 32 bit builds quiet\"\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:\n  RDMA/ucma: Ensure that CM_ID exists prior to access it\n  RDMA/verbs: Remove restrack entry from XRCD structure\n  RDMA/ucma: Fix use-after-free access in ucma_close\n  RDMA/ucma: Check AF family prior resolving address\n  infiniband: bnxt_re: use BIT_ULL() for 64-bit bit masks\n  infiniband: qplib_fp: fix pointer cast\n  IB/mlx5: Fix cleanup order on unload\n  RDMA/ucma: Don\u0027t allow join attempts for unsupported AF family\n  RDMA/ucma: Fix access to non-initialized CM_ID object\n  RDMA/core: Do not use invalid destination in determining port reuse\n  RDMA/mlx5: Fix crash while accessing garbage pointer and freed memory\n  IB/mlx5: Fix integer overflows in mlx5_ib_create_srq\n  IB/mlx5: Fix out-of-bounds read in create_raw_packet_qp_rq\n"
    },
    {
      "commit": "c6256ca9c011db79cca6b7a3a659389ff217e0bd",
      "tree": "68c08077361b67b4e2eed09b4f32c74e8926c242",
      "parents": [
        "0d707a2f24c4a962313cffc980e2d74df460e45a",
        "6417250d3f894e66a68ba1cd93676143f2376a6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 15:13:04 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 15:13:04 2018 -0700"
      },
      "message": "Merge branch \u0027for-4.16-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue fixes from Tejun Heo:\n \"Two low-impact workqueue commits.\n\n  One fixes workqueue creation error path and the other removes the\n  unused cancel_work()\"\n\n* \u0027for-4.16-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  workqueue: remove unused cancel_work()\n  workqueue: use put_device() instead of kfree()\n"
    },
    {
      "commit": "0d707a2f24c4a962313cffc980e2d74df460e45a",
      "tree": "3db3487e147c1c6482edfe3ae22f0c8ec0857978",
      "parents": [
        "efac2483e8f289cd879e750075e63a9d16897e65",
        "b3a5d111994450909158929560906f2c1c6c1d85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 14:48:35 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 19 14:48:35 2018 -0700"
      },
      "message": "Merge branch \u0027for-4.16-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\nPull percpu fixes from Tejun Heo:\n \"Late percpu pull request for v4.16-rc6.\n\n   - percpu allocator pool replenishing no longer triggers OOM or\n     warning messages.\n\n     Also, the alloc interface now understands __GFP_NORETRY and\n     __GFP_NOWARN. This is to allow avoiding OOMs from userland\n     triggered actions like bpf map creation.\n\n     Also added cond_resched() in alloc loop.\n\n   - perpcu allocation now can be interrupted by kill sigs to avoid\n     deadlocking OOM killer.\n\n   - Added Dennis Zhou as a co-maintainer.\n\n     He has rewritten the area map allocator, understands most of the\n     code base and has been responsive for all bug reports\"\n\n* \u0027for-4.16-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu_ref: Update doc to dissuade users from depending on internal RCU grace periods\n  mm: Allow to kill tasks doing pcpu_alloc() and waiting for pcpu_balance_workfn()\n  percpu: include linux/sched.h for cond_resched()\n  percpu: add a schedule point in pcpu_balance_workfn()\n  percpu: allow select gfp to be passed to underlying allocators\n  percpu: add __GFP_NORETRY semantics to the percpu balancing path\n  percpu: match chunk allocator declarations with definitions\n  percpu: add Dennis Zhou as a percpu co-maintainer\n"
    },
    {
      "commit": "4f738adba30a7cfc006f605707e7aee847ffefa0",
      "tree": "6603749a44356d3a44110c44f890a45b88d7e935",
      "parents": [
        "8c05dbf04b2882c3c0bc43fe7668c720210877f3"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.fastabend@gmail.com",
        "time": "Sun Mar 18 12:57:10 2018 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Mar 19 21:14:38 2018 +0100"
      },
      "message": "bpf: create tcp_bpf_ulp allowing BPF to monitor socket TX/RX data\n\nThis implements a BPF ULP layer to allow policy enforcement and\nmonitoring at the socket layer. In order to support this a new\nprogram type BPF_PROG_TYPE_SK_MSG is used to run the policy at\nthe sendmsg/sendpage hook. To attach the policy to sockets a\nsockmap is used with a new program attach type BPF_SK_MSG_VERDICT.\n\nSimilar to previous sockmap usages when a sock is added to a\nsockmap, via a map update, if the map contains a BPF_SK_MSG_VERDICT\nprogram type attached then the BPF ULP layer is created on the\nsocket and the attached BPF_PROG_TYPE_SK_MSG program is run for\nevery msg in sendmsg case and page/offset in sendpage case.\n\nBPF_PROG_TYPE_SK_MSG Semantics/API:\n\nBPF_PROG_TYPE_SK_MSG supports only two return codes SK_PASS and\nSK_DROP. Returning SK_DROP free\u0027s the copied data in the sendmsg\ncase and in the sendpage case leaves the data untouched. Both cases\nreturn -EACESS to the user. Returning SK_PASS will allow the msg to\nbe sent.\n\nIn the sendmsg case data is copied into kernel space buffers before\nrunning the BPF program. The kernel space buffers are stored in a\nscatterlist object where each element is a kernel memory buffer.\nSome effort is made to coalesce data from the sendmsg call here.\nFor example a sendmsg call with many one byte iov entries will\nlikely be pushed into a single entry. The BPF program is run with\ndata pointers (start/end) pointing to the first sg element.\n\nIn the sendpage case data is not copied. We opt not to copy the\ndata by default here, because the BPF infrastructure does not\nknow what bytes will be needed nor when they will be needed. So\ncopying all bytes may be wasteful. Because of this the initial\nstart/end data pointers are (0,0). Meaning no data can be read or\nwritten. This avoids reading data that may be modified by the\nuser. A new helper is added later in this series if reading and\nwriting the data is needed. The helper call will do a copy by\ndefault so that the page is exclusively owned by the BPF call.\n\nThe verdict from the BPF_PROG_TYPE_SK_MSG applies to the entire msg\nin the sendmsg() case and the entire page/offset in the sendpage case.\nThis avoids ambiguity on how to handle mixed return codes in the\nsendmsg case. Again a helper is added later in the series if\na verdict needs to apply to multiple system calls and/or only\na subpart of the currently being processed message.\n\nThe helper msg_redirect_map() can be used to select the socket to\nsend the data on. This is used similar to existing redirect use\ncases. This allows policy to redirect msgs.\n\nPseudo code simple example:\n\nThe basic logic to attach a program to a socket is as follows,\n\n  // load the programs\n  bpf_prog_load(SOCKMAP_TCP_MSG_PROG, BPF_PROG_TYPE_SK_MSG,\n\t\t\u0026obj, \u0026msg_prog);\n\n  // lookup the sockmap\n  bpf_map_msg \u003d bpf_object__find_map_by_name(obj, \"my_sock_map\");\n\n  // get fd for sockmap\n  map_fd_msg \u003d bpf_map__fd(bpf_map_msg);\n\n  // attach program to sockmap\n  bpf_prog_attach(msg_prog, map_fd_msg, BPF_SK_MSG_VERDICT, 0);\n\nAdding sockets to the map is done in the normal way,\n\n  // Add a socket \u0027fd\u0027 to sockmap at location \u0027i\u0027\n  bpf_map_update_elem(map_fd_msg, \u0026i, fd, BPF_ANY);\n\nAfter the above any socket attached to \"my_sock_map\", in this case\n\u0027fd\u0027, will run the BPF msg verdict program (msg_prog) on every\nsendmsg and sendpage system call.\n\nFor a complete example see BPF selftests or sockmap samples.\n\nImplementation notes:\n\nIt seemed the simplest, to me at least, to use a refcnt to ensure\npsock is not lost across the sendmsg copy into the sg, the bpf program\nrunning on the data in sg_data, and the final pass to the TCP stack.\nSome performance testing may show a better method to do this and avoid\nthe refcnt cost, but for now use the simpler method.\n\nAnother item that will come after basic support is in place is\nsupporting MSG_MORE flag. At the moment we call sendpages even if\nthe MSG_MORE flag is set. An enhancement would be to collect the\npages into a larger scatterlist and pass down the stack. Notice that\nbpf_tcp_sendmsg() could support this with some additional state saved\nacross sendmsg calls. I built the code to support this without having\nto do refactoring work. Other features TBD include ZEROCOPY and the\nTCP_RECV_QUEUE/TCP_NO_QUEUE support. This will follow initial series\nshortly.\n\nFuture work could improve size limits on the scatterlist rings used\nhere. Currently, we use MAX_SKB_FRAGS simply because this was being\nused already in the TLS case. Future work could extend the kernel sk\nAPIs to tune this depending on workload. This is a trade-off\nbetween memory usage and throughput performance.\n\nSigned-off-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "312fc2b4c82e96a48cb2d0da2bd4816eb253c499",
      "tree": "6bcfadb456706b7e326c46f17bff214e56181fcc",
      "parents": [
        "ffa35660017161524b7db79b0ce293fa1af16c4d"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.fastabend@gmail.com",
        "time": "Sun Mar 18 12:57:00 2018 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Mar 19 21:14:38 2018 +0100"
      },
      "message": "net: do_tcp_sendpages flag to avoid SKBTX_SHARED_FRAG\n\nWhen calling do_tcp_sendpages() from in kernel and we know the data\nhas no references from user side we can omit SKBTX_SHARED_FRAG flag.\nThis patch adds an internal flag, NO_SKBTX_SHARED_FRAG that can be used\nto omit setting SKBTX_SHARED_FRAG.\n\nThe flag is not exposed to userspace because the sendpage call from\nthe splice logic masks out all bits except MSG_MORE.\n\nSigned-off-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "b3a5d111994450909158929560906f2c1c6c1d85",
      "tree": "2c6c4c0a295c3522ed41e47b63ba6b84356bfe28",
      "parents": [
        "f52ba1fef7b92e74d58efef8eae7b6f48c6d218d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 14 12:45:12 2018 -0700"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Mar 19 10:09:44 2018 -0700"
      },
      "message": "percpu_ref: Update doc to dissuade users from depending on internal RCU grace periods\n\npercpu_ref internally uses sched-RCU to implement the percpu -\u003e atomic\nmode switching and the documentation suggested that this could be\ndepended upon.  This doesn\u0027t seem like a good idea.\n\n* percpu_ref uses sched-RCU which has different grace periods regular\n  RCU.  Users may combine percpu_ref with regular RCU usage and\n  incorrectly believe that regular RCU grace periods are performed by\n  percpu_ref.  This can lead to, for example, use-after-free due to\n  premature freeing.\n\n* percpu_ref has a grace period when switching from percpu to atomic\n  mode.  It doesn\u0027t have one between the last put and release.  This\n  distinction is subtle and can lead to surprising bugs.\n\n* percpu_ref allows starting in and switching to atomic mode manually\n  for debugging and other purposes.  This means that there may not be\n  any grace periods from kill to release.\n\nThis patch makes it clear that the grace periods are percpu_ref\u0027s\ninternal implementation detail and can\u0027t be depended upon by the\nusers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Kent Overstreet \u003ckent.overstreet@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "3cd1d3273f25d9fdad6840e07c0bac65e95a2030",
      "tree": "ce70c2b748b26ff10a126378db4a0f677dc8da79",
      "parents": [
        "9ef0f88fe5466c2ca1d2975549ba6be502c464c1",
        "daaf216c06fba4ee4dc3f62715667da929d68774"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 18 11:23:12 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 18 11:23:12 2018 -0700"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM fixes from Paolo Bonzini:\n \"PPC:\n   - fix bug leading to lost IPIs and smp_call_function_many() lockups\n     on POWER9\n\n  ARM:\n   - locking fix\n   - reset fix\n   - GICv2 multi-source SGI injection fix\n   - GICv2-on-v3 MMIO synchronization fix\n   - make the console less verbose.\n\n  x86:\n   - fix device passthrough on AMD SME\"\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: x86: Fix device passthrough when SME is active\n  kvm: arm/arm64: vgic-v3: Tighten synchronization for guests using v2 on v3\n  KVM: arm/arm64: vgic: Don\u0027t populate multiple LRs with the same vintid\n  KVM: arm/arm64: Reduce verbosity of KVM init log\n  KVM: arm/arm64: Reset mapped IRQs on VM reset\n  KVM: arm/arm64: Avoid vcpu_load for other vcpu ioctls than KVM_RUN\n  KVM: arm/arm64: vgic: Add missing irq_lock to vgic_mmio_read_pending\n  KVM: PPC: Book3S HV: Fix trap number return from __kvmppc_vcore_entry\n"
    },
    {
      "commit": "79ffdfc6522ae33d8a33e971070c08ee5f27439b",
      "tree": "415425dcf355385d0847a857c0f03094604668cc",
      "parents": [
        "320bd6de79ef0de1ece7c184469a722de690ccb0"
      ],
      "author": {
        "name": "Kirill Tkhai",
        "email": "ktkhai@virtuozzo.com",
        "time": "Wed Mar 14 22:17:20 2018 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 16 12:31:19 2018 -0400"
      },
      "message": "net: Add rtnl_lock_killable()\n\nrtnl_lock() is widely used mutex in kernel. Some of kernel code\ndoes memory allocations under it. In case of memory deficit this\nmay invoke OOM killer, but the problem is a killed task can\u0027t\nexit if it\u0027s waiting for the mutex. This may be a reason of deadlock\nand panic.\n\nThis patch adds a new primitive, which responds on SIGKILL, and\nit allows to use it in the places, where we don\u0027t want to sleep\nforever.\n\nSigned-off-by: Kirill Tkhai \u003cktkhai@virtuozzo.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbe7128c4b92e2004984f477fd38dfa81662f02e",
      "tree": "7805f8eec1279109bf15a6177f286a0aacbf017c",
      "parents": [
        "4bbb3e0e8239f9079bf1fe20b3c0cb598714ae61"
      ],
      "author": {
        "name": "Toshiaki Makita",
        "email": "makita.toshiaki@lab.ntt.co.jp",
        "time": "Tue Mar 13 14:51:28 2018 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 16 10:03:47 2018 -0400"
      },
      "message": "vlan: Fix out of order vlan headers with reorder header off\n\nWith reorder header off, received packets are untagged in skb_vlan_untag()\ncalled from within __netif_receive_skb_core(), and later the tag will be\ninserted back in vlan_do_receive().\n\nThis caused out of order vlan headers when we create a vlan device on top\nof another vlan device, because vlan_do_receive() inserts a tag as the\noutermost vlan tag. E.g. the outer tag is first removed in skb_vlan_untag()\nand inserted back in vlan_do_receive(), then the inner tag is next removed\nand inserted back as the outermost tag.\n\nThis patch fixes the behaviour by inserting the inner tag at the right\nposition.\n\nSigned-off-by: Toshiaki Makita \u003cmakita.toshiaki@lab.ntt.co.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df09348f78dc53a14faddca4414d66bea849a749",
      "tree": "79d0bda31965824ad7272118f432ddd67e4e5db5",
      "parents": [
        "cfb61b5e3e09f8b49bc4d685429df75f45127adc",
        "95dd77580ccd66a0da96e6d4696945b8cea39431"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 15 18:57:14 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 15 18:57:14 2018 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs fixes from Al Viro:\n\n - backport-friendly part of lock_parent() race fix\n\n - a fix for an assumption in the heurisic used by path_connected() that\n   is not true on NFS\n\n - livelock fixes for d_alloc_parallel()\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  fs: Teach path_connected to handle nfs filesystems with multiple roots.\n  fs: dcache: Use READ_ONCE when accessing i_dir_seq\n  fs: dcache: Avoid livelock between d_alloc_parallel and __d_add\n  lock_parent() needs to recheck if dentry got __dentry_kill\u0027ed under it\n"
    },
    {
      "commit": "95dd77580ccd66a0da96e6d4696945b8cea39431",
      "tree": "a3d20b5fbb083b5df61c3235bad45f4daa8de336",
      "parents": [
        "8cc07c808c9d595e81cbe5aad419b7769eb2e5c9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Mar 14 18:20:29 2018 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 15 18:48:38 2018 -0400"
      },
      "message": "fs: Teach path_connected to handle nfs filesystems with multiple roots.\n\nOn nfsv2 and nfsv3 the nfs server can export subsets of the same\nfilesystem and report the same filesystem identifier, so that the nfs\nclient can know they are the same filesystem.  The subsets can be from\ndisjoint directory trees.  The nfsv2 and nfsv3 filesystems provides no\nway to find the common root of all directory trees exported form the\nserver with the same filesystem identifier.\n\nThe practical result is that in struct super s_root for nfs s_root is\nnot necessarily the root of the filesystem.  The nfs mount code sets\ns_root to the root of the first subset of the nfs filesystem that the\nkernel mounts.\n\nThis effects the dcache invalidation code in generic_shutdown_super\ncurrently called shrunk_dcache_for_umount and that code for years\nhas gone through an additional list of dentries that might be dentry\ntrees that need to be freed to accomodate nfs.\n\nWhen I wrote path_connected I did not realize nfs was so special, and\nit\u0027s hueristic for avoiding calling is_subdir can fail.\n\nThe practical case where this fails is when there is a move of a\ndirectory from the subtree exposed by one nfs mount to the subtree\nexposed by another nfs mount.  This move can happen either locally or\nremotely.  With the remote case requiring that the move directory be cached\nbefore the move and that after the move someone walks the path\nto where the move directory now exists and in so doing causes the\nalready cached directory to be moved in the dcache through the magic\nof d_splice_alias.\n\nIf someone whose working directory is in the move directory or a\nsubdirectory and now starts calling .. from the initial mount of nfs\n(where s_root \u003d\u003d mnt_root), then path_connected as a heuristic will\nnot bother with the is_subdir check.  As s_root really is not the root\nof the nfs filesystem this heuristic is wrong, and the path may\nactually not be connected and path_connected can fail.\n\nThe is_subdir function might be cheap enough that we can call it\nunconditionally.  Verifying that will take some benchmarking and\nthe result may not be the same on all kernels this fix needs\nto be backported to.  So I am avoiding that for now.\n\nFilesystems with snapshots such as nilfs and btrfs do something\nsimilar.  But as the directory tree of the snapshots are disjoint\nfrom one another and from the main directory tree rename won\u0027t move\nthings between them and this problem will not occur.\n\nCc: stable@vger.kernel.org\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nFixes: 397d425dc26d (\"vfs: Test for and handle paths that are unreachable from their mnt_root\")\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bb9b4dbe0d6b7eda355cad7c57b36f37fdac6235",
      "tree": "1097028058dfc732ab5b1e19b104c559f62cf588",
      "parents": [
        "e2c15aff5f353ba80bd3bb49840837f65fa5cc43",
        "27e91ad1e746e341ca2312f29bccb9736be7b476"
      ],
      "author": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu Mar 15 21:45:37 2018 +0100"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Thu Mar 15 21:45:37 2018 +0100"
      },
      "message": "Merge tag \u0027kvm-arm-fixes-for-v4.16-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master\n\nkvm/arm fixes for 4.16, take 2\n\n- Peace of mind locking fix in vgic_mmio_read_pending\n- Allow hw-mapped interrupts to be reset when the VM resets\n- Fix GICv2 multi-source SGI injection\n- Fix MMIO synchronization for GICv2 on v3 emulation\n- Remove excess verbosity on the console\n"
    },
    {
      "commit": "16ca6a607d84bef0129698d8d808f501afd08d43",
      "tree": "dd8c4a36c3c185e82003cd125a092cb42845de21",
      "parents": [
        "76600428c3677659e3c3633bb4f2ea302220a275"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Tue Mar 06 21:48:01 2018 +0000"
      },
      "committer": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Wed Mar 14 18:31:04 2018 +0000"
      },
      "message": "KVM: arm/arm64: vgic: Don\u0027t populate multiple LRs with the same vintid\n\nThe vgic code is trying to be clever when injecting GICv2 SGIs,\nand will happily populate LRs with the same interrupt number if\nthey come from multiple vcpus (after all, they are distinct\ninterrupt sources).\n\nUnfortunately, this is against the letter of the architecture,\nand the GICv2 architecture spec says \"Each valid interrupt stored\nin the List registers must have a unique VirtualID for that\nvirtual CPU interface.\". GICv3 has similar (although slightly\nambiguous) restrictions.\n\nThis results in guests locking up when using GICv2-on-GICv3, for\nexample. The obvious fix is to stop trying so hard, and inject\na single vcpu per SGI per guest entry. After all, pending SGIs\nwith multiple source vcpus are pretty rare, and are mostly seen\nin scenario where the physical CPUs are severely overcomitted.\n\nBut as we now only inject a single instance of a multi-source SGI per\nvcpu entry, we may delay those interrupts for longer than strictly\nnecessary, and run the risk of injecting lower priority interrupts\nin the meantime.\n\nIn order to address this, we adopt a three stage strategy:\n- If we encounter a multi-source SGI in the AP list while computing\n  its depth, we force the list to be sorted\n- When populating the LRs, we prevent the injection of any interrupt\n  of lower priority than that of the first multi-source SGI we\u0027ve\n  injected.\n- Finally, the injection of a multi-source SGI triggers the request\n  of a maintenance interrupt when there will be no pending interrupt\n  in the LRs (HCR_NPIE).\n\nAt the point where the last pending interrupt in the LRs switches\nfrom Pending to Active, the maintenance interrupt will be delivered,\nallowing us to add the remaining SGIs using the same process.\n\nCc: stable@vger.kernel.org\nFixes: 0919e84c0fc1 (\"KVM: arm/arm64: vgic-new: Add IRQ sync/flush framework\")\nAcked-by: Christoffer Dall \u003ccdall@kernel.org\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\n"
    },
    {
      "commit": "3032f8c504d2b15d58e4c96060a96b47e215573c",
      "tree": "bd059f56005014a1deb10dea44fce4d6e5684f1a",
      "parents": [
        "6560ca4a0f7b1faacf0480ed0bdb8cd6b6cd2cc8",
        "94e46a4f2d5eb14059e42f313c098d4854847376"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 14 10:05:59 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 14 10:05:59 2018 -0700"
      },
      "message": "Merge tag \u0027usb-4.16-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\nPull USB fixes from Greg KH:\n \"Here are a small clump of USB fixes for 4.16-rc6.\n\n  Nothing major, just a number of fixes in lots of different drivers, as\n  well as a PHY driver fix that snuck into this tree. Full details are\n  in the shortlog.\n\n  All of these have been in linux-next with no reported issues\"\n\n* tag \u0027usb-4.16-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (22 commits)\n  usb: musb: Fix external abort in musb_remove on omap2430\n  phy: qcom-ufs: add MODULE_LICENSE tag\n  usb: typec: tcpm: fusb302: Do not log an error on -EPROBE_DEFER\n  USB: OHCI: Fix NULL dereference in HCDs using HCD_LOCAL_MEM\n  usbip: vudc: fix null pointer dereference on udc-\u003elock\n  xhci: Fix front USB ports on ASUS PRIME B350M-A\n  usb: host: xhci-plat: revert \"usb: host: xhci-plat: enable clk in resume timing\"\n  usb: usbmon: Read text within supplied buffer size\n  usb: host: xhci-rcar: add support for r8a77965\n  USB: storage: Add JMicron bridge 152d:2567 to unusual_devs.h\n  usb: xhci: dbc: Fix lockdep warning\n  xhci: fix endpoint context tracer output\n  Revert \"typec: tcpm: Only request matching pdos\"\n  usb: musb: call pm_runtime_{get,put}_sync before reading vbus registers\n  usb: quirks: add control message delay for 1b1c:1b20\n  uas: fix comparison for error code\n  usb: gadget: udc: renesas_usb3: add binging for r8a77965\n  usb: renesas_usbhs: add binding for r8a77965\n  usb: dwc2: fix STM32F7 USB OTG HS compatible\n  dt-bindings: usb: fix the STM32F7 DWC2 OTG HS core binding\n  ...\n"
    },
    {
      "commit": "6560ca4a0f7b1faacf0480ed0bdb8cd6b6cd2cc8",
      "tree": "051bccacaf8c1c8d739cd02297302cc477a8697b",
      "parents": [
        "5e15d39f1e7702bccbd52010f52a6dc39c1175de",
        "5d7f77ec72d10c421bc33958f06a5583f2d27ed6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 14 10:02:40 2018 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 14 10:02:40 2018 -0700"
      },
      "message": "Merge tag \u0027tty-4.16-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull tty/serial driver fixes from Greg KH:\n \"Here are some small tty core and serial driver fixes for 4.16-rc6.\n\n  They resolve some newly reported bugs, as well as some very old ones,\n  which is always nice to see. There is also a new device id added in\n  here for good measure.\n\n  All of these have been in linux-next for a while with no reported\n  issues\"\n\n* tag \u0027tty-4.16-rc6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:\n  serial: imx: fix bogus dev_err\n  serial: sh-sci: prevent lockup on full TTY buffers\n  serial: 8250_pci: Add Brainboxes UC-260 4 port serial device\n  earlycon: add reg-offset to physical address before mapping\n  serial: core: mark port as initialized in autoconfig\n  serial: 8250_pci: Don\u0027t fail on multiport card class\n  tty/serial: atmel: add new version check for usart\n  tty: make n_tty_read() always abort if hangup is in progress\n"
    },
    {
      "commit": "4dcb31d4649df36297296b819437709f5407059c",
      "tree": "c3f83c7300f9f8fe9612bf790efbfe150345ae88",
      "parents": [
        "f89782c2d131e6eae0d1ea2569ba76bc4c5875fe"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Mar 14 09:04:16 2018 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 14 12:53:23 2018 -0400"
      },
      "message": "net: use skb_to_full_sk() in skb_update_prio()\n\nAndrei Vagin reported a KASAN: slab-out-of-bounds error in\nskb_update_prio()\n\nSince SYNACK might be attached to a request socket, we need to\nget back to the listener socket.\nSince this listener is manipulated without locks, add const\nqualifiers to sock_cgroup_prioidx() so that the const can also\nbe used in skb_update_prio()\n\nAlso add the const qualifier to sock_cgroup_classid() for consistency.\n\nFixes: ca6fb0651883 (\"tcp: attach SYNACK messages to request sockets instead of listener\")\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Andrei Vagin \u003cavagin@virtuozzo.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6417250d3f894e66a68ba1cd93676143f2376a6f",
      "tree": "7e5c7b35f35ec34732cbabf303bb028430e35b3d",
      "parents": [
        "537f4146c53c95aac977852b371bafb9c6755ee1"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org",
        "time": "Tue Mar 06 19:34:42 2018 -0800"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 13 13:37:42 2018 -0700"
      },
      "message": "workqueue: remove unused cancel_work()\n\nFound this by accident.\nThere are no usages of bare cancel_work() in current kernel source.\n\nSigned-off-by: Stephen Hemminger \u003cstephen@networkplumber.org\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "c2b37f76485f073f020e60b5954b6dc4e55f693c",
      "tree": "0be1ee04fa795c1a342b5b67abea504524bf99c3",
      "parents": [
        "2c292dbb398ee46fc1343daf6c3cf9715a75688e"
      ],
      "author": {
        "name": "Boris Pismenny",
        "email": "borisp@mellanox.com",
        "time": "Thu Mar 08 15:51:41 2018 +0200"
      },
      "committer": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Tue Mar 13 16:31:21 2018 -0400"
      },
      "message": "IB/mlx5: Fix integer overflows in mlx5_ib_create_srq\n\nThis patch validates user provided input to prevent integer overflow due\nto integer manipulation in the mlx5_ib_create_srq function.\n\nCc: syzkaller \u003csyzkaller@googlegroups.com\u003e\nFixes: e126ba97dba9 (\"mlx5: Add driver for Mellanox Connect-IB adapters\")\nSigned-off-by: Boris Pismenny \u003cborisp@mellanox.com\u003e\nSigned-off-by: Leon Romanovsky \u003cleon@kernel.org\u003e\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\n"
    },
    {
      "commit": "be9fc0971a5c27b791608cf9705a04fe96dbd395",
      "tree": "f7ac66652082a64a182bce580210ceab67c68173",
      "parents": [
        "6056415d3a513846f774e7bbee0de0460b1c15df"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Mar 13 12:44:53 2018 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 13 14:15:21 2018 -0400"
      },
      "message": "net: fix sysctl_fb_tunnels_only_for_init_net link error\n\nThe new variable is only available when CONFIG_SYSCTL is enabled,\notherwise we get a link error:\n\nnet/ipv4/ip_tunnel.o: In function `ip_tunnel_init_net\u0027:\nip_tunnel.c:(.text+0x278b): undefined reference to `sysctl_fb_tunnels_only_for_init_net\u0027\nnet/ipv6/sit.o: In function `sit_init_net\u0027:\nsit.c:(.init.text+0x4c): undefined reference to `sysctl_fb_tunnels_only_for_init_net\u0027\nnet/ipv6/ip6_tunnel.o: In function `ip6_tnl_init_net\u0027:\nip6_tunnel.c:(.init.text+0x39): undefined reference to `sysctl_fb_tunnels_only_for_init_net\u0027\n\nThis adds an extra condition, keeping the traditional behavior when\nCONFIG_SYSCTL is disabled.\n\nFixes: 79134e6ce2c9 (\"net: do not create fallback tunnels for non-default namespaces\")\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b747594829aab6dcd2afadb9040d48f8b5a3d4f2",
      "tree": "452190cff4e9fc83129243a64225a3849440dc6e",
      "parents": [
        "4665c6b04651e96c1e2eb9129a30d6055040ff73",
        "c04a3f730021c304c7cc4bc30ee57ee70ad98d57"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 12 12:49:30 2018 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 12 12:49:30 2018 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf\n\nPablo Neira Ayuso says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nNetfilter fixes for net\n\nThe following patchset contains Netfilter fixes for your net tree, they are:\n\n1) Fixed hashtable representation doesn\u0027t support timeout flag, skip it\n   otherwise rules to add elements from the packet fail bogusly fail with\n   EOPNOTSUPP.\n\n2) Fix bogus error with 32-bits ebtables userspace and 64-bits kernel,\n   patch from Florian Westphal.\n\n3) Sanitize proc names in several x_tables extensions, also from Florian.\n\n4) Add sanitization to ebt_among wormhash logic, from Florian.\n\n5) Missing release of hook array in flowtable.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "bf2ae2e4bf9360e07c0cdfa166bcdc0afd92f4ce",
      "tree": "2f0c209f6a4056f3b51ecfdceee2a549875e9ece",
      "parents": [
        "9e5fb7207024e53700bdac23f53d1e44d530a7f6"
      ],
      "author": {
        "name": "Xin Long",
        "email": "lucien.xin@gmail.com",
        "time": "Sat Mar 10 18:57:50 2018 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 12 11:03:42 2018 -0400"
      },
      "message": "sock_diag: request _diag module only when the family or proto has been registered\n\nNow when using \u0027ss\u0027 in iproute, kernel would try to load all _diag\nmodules, which also causes corresponding family and proto modules\nto be loaded as well due to module dependencies.\n\nLike after running \u0027ss\u0027, sctp, dccp, af_packet (if it works as a module)\nwould be loaded.\n\nFor example:\n\n  $ lsmod|grep sctp\n  $ ss\n  $ lsmod|grep sctp\n  sctp_diag              16384  0\n  sctp                  323584  5 sctp_diag\n  inet_diag              24576  4 raw_diag,tcp_diag,sctp_diag,udp_diag\n  libcrc32c              16384  3 nf_conntrack,nf_nat,sctp\n\nAs these family and proto modules are loaded unintentionally, it\ncould cause some problems, like:\n\n- Some debug tools use \u0027ss\u0027 to collect the socket info, which loads all\n  those diag and family and protocol modules. It\u0027s noisy for identifying\n  issues.\n\n- Users usually expect to drop sctp init packet silently when they\n  have no sense of sctp protocol instead of sending abort back.\n\n- It wastes resources (especially with multiple netns), and SCTP module\n  can\u0027t be unloaded once it\u0027s loaded.\n\n...\n\nIn short, it\u0027s really inappropriate to have these family and proto\nmodules loaded unexpectedly when just doing debugging with inet_diag.\n\nThis patch is to introduce sock_load_diag_module() where it loads\nthe _diag module only when it\u0027s corresponding family or proto has\nbeen already registered.\n\nNote that we can\u0027t just load _diag module without the family or\nproto loaded, as some symbols used in _diag module are from the\nfamily or proto module.\n\nv1-\u003ev2:\n  - move inet proto check to inet_diag to avoid a compiling err.\nv2-\u003ev3:\n  - define sock_load_diag_module in sock.c and export one symbol\n    only.\n  - improve the changelog.\n\nReported-by: Sabrina Dubroca \u003csd@queasysnail.net\u003e\nAcked-by: Marcelo Ricardo Leitner \u003cmarcelo.leitner@gmail.com\u003e\nAcked-by: Phil Sutter \u003cphil@nwl.cc\u003e\nAcked-by: Sabrina Dubroca \u003csd@queasysnail.net\u003e\nSigned-off-by: Xin Long \u003clucien.xin@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2c054a896b8ac794ddcfc7c92e2dc7ec4ed4ed5",
      "tree": "14ae44931e189f9d54045bb1f4b8c8a1ddf72071",
      "parents": [
        "ddc502dfed600bff0b61d899f70d95b76223fdfc"
      ],
      "author": {
        "name": "Brad Mouring",
        "email": "brad.mouring@ni.com",
        "time": "Thu Mar 08 16:23:03 2018 -0600"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 12 10:33:07 2018 -0400"
      },
      "message": "net: phy: Tell caller result of phy_change()\n\nIn 664fcf123a30e (net: phy: Threaded interrupts allow some simplification)\nthe phy_interrupt system was changed to use a traditional threaded\ninterrupt scheme instead of a workqueue approach.\n\nWith this change, the phy status check moved into phy_change, which\ndid not report back to the caller whether or not the interrupt was\nhandled. This means that, in the case of a shared phy interrupt,\nonly the first phydev\u0027s interrupt registers are checked (since\nphy_interrupt() would always return IRQ_HANDLED). This leads to\ninterrupt storms when it is a secondary device that\u0027s actually the\ninterrupt source.\n\nSigned-off-by: Brad Mouring \u003cbrad.mouring@ni.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1d0a5d0cba4597c0394997b2d5fced3e3841b4e",
      "tree": "70d90ea7b61812f4472ac77f78eb697aac3f1e2b",
      "parents": [
        "932909d9b28d27e807ff8eecb68c7748f6701628"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Sat Mar 10 01:15:45 2018 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Sun Mar 11 21:24:29 2018 +0100"
      },
      "message": "netfilter: x_tables: add and use xt_check_proc_name\n\nrecent and hashlimit both create /proc files, but only check that\nname is 0 terminated.\n\nThis can trigger WARN() from procfs when name is \"\" or \"/\".\nAdd helper for this and then use it for both.\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReported-by: \u003csyzbot+0502b00edac2a0680b61@syzkaller.appspotmail.com\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "c68a2cf07ad726c09a8724258e25ca9400fdf9ee",
      "tree": "d1e00ffc55835af3ee697769f1561d1182feb4ea",
      "parents": [
        "99d7d64b60d2c97373365a41554a12fa8a6e3f8f",
        "fc110ebdd014dd1368c98e7685b47789c31fab42"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 09 13:31:08 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 09 13:31:08 2018 -0800"
      },
      "message": "Merge tag \u0027pci-v4.16-fixes-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci\n\nPull PCI fixes from Bjorn Helgaas:\n\n - fix sparc build issue when OF_IRQ not enabled (Guenter Roeck)\n\n - fix enumeration of devices below switches on DesignWare-based\n   controllers (Koen Vandeputte)\n\n* tag \u0027pci-v4.16-fixes-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:\n  PCI: dwc: Fix enumeration end when reaching root subordinate\n  PCI: Move of_irq_parse_and_map_pci() declaration under OF_IRQ\n"
    },
    {
      "commit": "f5426250a6ecfd1e9b2d5e0daf07565f664aa67d",
      "tree": "581f433bcf7a7a09e5d869aaeeee045bb2725ff5",
      "parents": [
        "d185efc1da089b968dfe1825329c51820d661755"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Fri Mar 09 10:39:24 2018 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 13:00:08 2018 -0500"
      },
      "message": "net: introduce IFF_NO_RX_HANDLER\n\nSome network devices - notably ipvlan slave - are not compatible with\nany kind of rx_handler. Currently the hook can be installed but any\nconfiguration (bridge, bond, macsec, ...) is nonfunctional.\n\nThis change allocates a priv_flag bit to mark such devices and explicitly\nforbid installing a rx_handler if such bit is set. The new bit is used\nby ipvlan slave device.\n\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a4030761ea88ff439030ca98e3094b9900e96b7",
      "tree": "c0d48a1da4ce356c2ce2037ba1b4fc210abba7e6",
      "parents": [
        "303fd71b37fb710b26f5ff5444029d62cfd627bd"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Mar 09 14:50:34 2018 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 12:02:59 2018 -0500"
      },
      "message": "vhost_net: examine pointer types during un-producing\n\nAfter commit fc72d1d54dd9 (\"tuntap: XDP transmission\"), we can\nactually queueing XDP pointers in the pointer ring, so we should\nexamine the pointer type before freeing the pointer.\n\nFixes: fc72d1d54dd9 (\"tuntap: XDP transmission\")\nReported-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79134e6ce2c9d1a00eab4d98cb48f975dd2474cb",
      "tree": "b5f8a1d1f2036315e6955d015fd181c538ed8ebf",
      "parents": [
        "2b3905de8b3d8511aee1d4acbf063197291cdd3f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Mar 08 12:51:41 2018 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 11:23:11 2018 -0500"
      },
      "message": "net: do not create fallback tunnels for non-default namespaces\n\nfallback tunnels (like tunl0, gre0, gretap0, erspan0, sit0,\nip6tnl0, ip6gre0) are automatically created when the corresponding\nmodule is loaded.\n\nThese tunnels are also automatically created when a new network\nnamespace is created, at a great cost.\n\nIn many cases, netns are used for isolation purposes, and these\nextra network devices are a waste of resources. We are using\nthousands of netns per host, and hit the netns creation/delete\nbottleneck a lot. (Many thanks to Kirill for recent work on this)\n\nAdd a new sysctl so that we can opt-out from this automatic creation.\n\nNote that these tunnels are still created for the initial namespace,\nto be the least intrusive for typical setups.\n\nTested:\nlpk43:~# cat add_del_unshare.sh\nfor i in `seq 1 40`\ndo\n (for j in `seq 1 100` ; do  unshare -n /bin/true \u003e/dev/null ; done) \u0026\ndone\nwait\n\nlpk43:~# echo 0 \u003e/proc/sys/net/core/fb_tunnels_only_for_init_net\nlpk43:~# time ./add_del_unshare.sh\n\nreal\t0m37.521s\nuser\t0m0.886s\nsys\t7m7.084s\nlpk43:~# echo 1 \u003e/proc/sys/net/core/fb_tunnels_only_for_init_net\nlpk43:~# time ./add_del_unshare.sh\n\nreal\t0m4.761s\nuser\t0m0.851s\nsys\t1m8.343s\nlpk43:~#\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84a1d9c4820080bebcbd413a845076dcb62f45fa",
      "tree": "10e996ae368f9ca86af6f2f50954d6c5f7898fce",
      "parents": [
        "571e6776add4f499661e761e03e46ec0f6d66243"
      ],
      "author": {
        "name": "Edward Cree",
        "email": "ecree@solarflare.com",
        "time": "Thu Mar 08 15:45:03 2018 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 08 21:54:52 2018 -0500"
      },
      "message": "net: ethtool: extend RXNFC API to support RSS spreading of filter matches\n\nWe use a two-step process to configure a filter with RSS spreading.  First,\n the RSS context is allocated and configured using ETHTOOL_SRSSH; this\n returns an identifier (rss_context) which can then be passed to subsequent\n invocations of ETHTOOL_SRXCLSRLINS to specify that the offset from the RSS\n indirection table lookup should be added to the queue number (ring_cookie)\n when delivering the packet.  Drivers for devices which can only use the\n indirection table entry directly (not add it to a base queue number)\n should reject rule insertions combining RSS with a nonzero ring_cookie.\n\nSigned-off-by: Edward Cree \u003cecree@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd372a7a9e5e9d8011a0222d10edd3523abcd3b1",
      "tree": "75a5cb87365a348bad9edb725f17161ea59f3701",
      "parents": [
        "10c56b8d93863abb4dbb01a9b9f1b40c336a1c3b",
        "31135eb3887daf2ed3e88fbefc36243357a9008f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 08 14:43:48 2018 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 08 14:43:48 2018 -0500"
      },
      "message": "Merge tag \u0027mlx5-updates-2018-02-28-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux\n\nSaeed Mahameed says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nmlx5-updates-2018-02-28-2 (IPSec-2)\n\nThis series follows our previous one to lay out the foundations for IPSec\nin user-space and extend current kernel netdev IPSec support. As noted in\nour previous pull request cover letter \"mlx5-updates-2018-02-28-1 (IPSec-1)\",\nthe IPSec mechanism will be supported through our flow steering mechanism.\nTherefore, we need to change the initialization order. Furthermore, IPsec\nis also supported in both egress and ingress. Since our current flow\nsteering is egress only, we add an empty (only implemented through FPGA\nsteering ops) egress namespace to handle that case. We also implement\nthe required flow steering callbacks and logic in our FPGA driver.\n\nWe extend the FPGA support for ESN and modifying a xfrm too. Therefore, we\nadd support for some new FPGA command interface that supports them. The\nother required bits are added too. The new features and requirements are\nadvertised via cap bits.\n\nLast but not least, we revise our driver\u0027s accel_esp API. This API will be\nshared between our netdev and IB driver, so we need to have all the required\nfunctionality from both worlds.\n\nRegards,\nAviad and Matan\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e67548254b86a4a6e1b493f041bb7fe28ee74249",
      "tree": "ae9367616f7b5543afed845b63d0c0877f6cc714",
      "parents": [
        "98577c6aa2cddf73d55b6f1e2825a1f333ea1723",
        "06a3f0c9f2725f5d7c63c4203839373c9bd00c28"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 08 10:03:12 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 08 10:03:12 2018 -0800"
      },
      "message": "Merge tag \u0027mips_fixes_4.16_4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips\n\nPull MIPS fixes from James Hogan:\n \"A miscellaneous pile of MIPS fixes for 4.16:\n\n   - move put_compat_sigset() to evade hardened usercopy warnings (4.16)\n\n   - select ARCH_HAVE_PC_{SERIO,PARPORT} for Loongson64 platforms (4.16)\n\n   - fix kzalloc() failure handling in ath25 (3.19) and Octeon (4.0)\n\n   - fix disabling of IPIs during BMIPS suspend (3.19)\"\n\n* tag \u0027mips_fixes_4.16_4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips:\n  MIPS: BMIPS: Do not mask IPIs during suspend\n  MIPS: Loongson64: Select ARCH_MIGHT_HAVE_PC_SERIO\n  MIPS: Loongson64: Select ARCH_MIGHT_HAVE_PC_PARPORT\n  signals: Move put_compat_sigset to compat.h to silence hardened usercopy\n  MIPS: OCTEON: irq: Check for null return on kzalloc allocation\n  MIPS: ath25: Check for kzalloc allocation failure\n"
    },
    {
      "commit": "cfda06d7362b4151ad9acc4765ad15e8dd969e4a",
      "tree": "d9582e795735266ea5bc09ecc2045199956b2486",
      "parents": [
        "b06ef18a4c255609388ed6e068a1c69c797545e0",
        "6007b080d2e2adb7af22bf29165f0594ea12b34c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 20:27:51 2018 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 20:27:51 2018 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf\n\nDaniel Borkmann says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npull-request: bpf 2018-03-08\n\nThe following pull-request contains BPF updates for your *net* tree.\n\nThe main changes are:\n\n1) Fix various BPF helpers which adjust the skb and its GSO information\n   with regards to SCTP GSO. The latter is a special case where gso_size\n   is of value GSO_BY_FRAGS, so mangling that will end up corrupting\n   the skb, thus bail out when seeing SCTP GSO packets, from Daniel(s).\n\n2) Fix a compilation error in bpftool where BPF_FS_MAGIC is not defined\n   due to too old kernel headers in the system, from Jiri.\n\n3) Increase the number of x64 JIT passes in order to allow larger images\n   to converge instead of punting them to interpreter or having them\n   rejected when the interpreter is not built into the kernel, from Daniel.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb01008390bb0645d4728c7f8825e32d4b540a30",
      "tree": "ec990afb3dab495e42606a158c9a5ecdb199fa3a",
      "parents": [
        "75ef3f551572822a392ca9b03486bf09163cc668"
      ],
      "author": {
        "name": "Aviad Yehezkel",
        "email": "aviadye@mellanox.com",
        "time": "Thu Jan 18 16:02:17 2018 +0200"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Wed Mar 07 15:54:36 2018 -0800"
      },
      "message": "net/mlx5: IPSec, Add support for ESN\n\nCurrently ESN is not supported with IPSec device offload.\n\nThis patch adds ESN support to IPsec device offload.\nImplementing new xfrm device operation to synchronize offloading device\nESN with xfrm received SN. New QP command to update SA state at the\nfollowing:\n\n           ESN 1                    ESN 2                  ESN 3\n|-----------*-----------|-----------*-----------|-----------*\n^           ^           ^           ^           ^           ^\n\n^ - marks where QP command invoked to update the SA ESN state\n    machine.\n| - marks the start of the ESN scope (0-2^32-1). At this point move SA\n    ESN overlap bit to zero and increment ESN.\n* - marks the middle of the ESN scope (2^31). At this point move SA\n    ESN overlap bit to one.\n\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Yossef Efraim \u003cyossefe@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "05564d0ae075b7a73339eaa05296c3034e439c32",
      "tree": "eb159a3339f936f8041ee075f7c37d7819c4e6a1",
      "parents": [
        "d6c4f0298cec8c4c88d33aca17c066995e92fe91"
      ],
      "author": {
        "name": "Aviad Yehezkel",
        "email": "aviadye@mellanox.com",
        "time": "Sun Feb 18 15:07:20 2018 +0200"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Wed Mar 07 15:54:35 2018 -0800"
      },
      "message": "net/mlx5: Add flow-steering commands for FPGA IPSec implementation\n\nIn order to add a context to the FPGA, we need to get both the software\ntransform context (which includes the keys, etc) and the\nsource/destination IPs (which are included in the steering\nrule). Therefore, we register new set of firmware like commands for\nthe FPGA. Each time a rule is added, the steering core infrastructure\ncalls the FPGA command layer. If the rule is intended for the FPGA,\nit combines the IPs information with the software transformation\ncontext and creates the respective hardware transform.\nAfterwards, it calls the standard steering command layer.\n\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "d6c4f0298cec8c4c88d33aca17c066995e92fe91",
      "tree": "f27c22b032d0738ae32d7abe63f2e083a56f071b",
      "parents": [
        "af9fe19d660e333ca9b0a6e1506e684a1126b9e7"
      ],
      "author": {
        "name": "Aviad Yehezkel",
        "email": "aviadye@mellanox.com",
        "time": "Thu Jan 18 13:05:48 2018 +0200"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Wed Mar 07 15:54:34 2018 -0800"
      },
      "message": "net/mlx5: Refactor accel IPSec code\n\nThe current code has one layer that executed FPGA commands and\nthe Ethernet part directly used this code. Since downstream patches\nintroduces support for IPSec in mlx5_ib, we need to provide some\nabstractions. This patch refactors the accel code into one layer\nthat creates a software IPSec transformation and another one which\ncreates the actual hardware context.\nThe internal command implementation is now hidden in the FPGA\ncore layer. The code also adds the ability to share FPGA hardware\ncontexts. If two contexts are the same, only a reference count\nis taken.\n\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "af9fe19d660e333ca9b0a6e1506e684a1126b9e7",
      "tree": "6de0cfc62a0aa7b2e7f56d47cf03a4a403a2d63e",
      "parents": [
        "1d2005e2040b95af4c861e40cf806ff44cd7c883"
      ],
      "author": {
        "name": "Aviad Yehezkel",
        "email": "aviadye@mellanox.com",
        "time": "Wed Jan 17 11:20:33 2018 +0200"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Wed Mar 07 15:54:34 2018 -0800"
      },
      "message": "net/mlx5: Added required metadata capability for ipsec\n\nCurrently our device requires additional metadata in packet\nto perform ipsec crypto offload.\n\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "1d2005e2040b95af4c861e40cf806ff44cd7c883",
      "tree": "10d7c1c9935493caab818e17adcd82b7e4d26c09",
      "parents": [
        "65802f480008066636a43173b12388bb3fb7bd3a"
      ],
      "author": {
        "name": "Aviad Yehezkel",
        "email": "aviadye@mellanox.com",
        "time": "Mon Jan 29 15:05:50 2018 +0200"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Wed Mar 07 15:54:30 2018 -0800"
      },
      "message": "net/mlx5: Export ipsec capabilities\n\nWe will need that for ipsec verbs.\n\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "65802f480008066636a43173b12388bb3fb7bd3a",
      "tree": "9191cd0530bc0d8d848719ce1bcc25007a37e1b4",
      "parents": [
        "788a8210764ce2977095010931959c87b60c2f51"
      ],
      "author": {
        "name": "Aviad Yehezkel",
        "email": "aviadye@mellanox.com",
        "time": "Tue Jan 16 16:12:22 2018 +0200"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Wed Mar 07 15:53:18 2018 -0800"
      },
      "message": "net/mlx5: IPSec, Add command V2 support\n\nThis patch adds V2 command support.\nNew fpga devices support extended features (udp encap, esn etc...), this\nfeatures require new hardware sadb format therefore we have a new version\nof commands to manipulate it.\n\nSigned-off-by: Yossef Efraim \u003cyossefe@mellanox.com\u003e\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "788a8210764ce2977095010931959c87b60c2f51",
      "tree": "96d961776baccf9e6d88f6b6283e4fa1d7b307af",
      "parents": [
        "581fdddee420cebe2cb781cb3c84c82676a86949"
      ],
      "author": {
        "name": "Yossi Kuperman",
        "email": "yossiku@mellanox.com",
        "time": "Sun Oct 22 19:45:45 2017 +0300"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Wed Mar 07 15:53:18 2018 -0800"
      },
      "message": "net/mlx5e: IPSec, Add support for ESP trailer removal by hardware\n\nCurrent hardware decrypts and authenticates incoming ESP packets.\nSubsequently, the software extracts the nexthdr field, truncates the\ntrailer and adjusts csum accordingly.\n\nWith this patch and a capable device, the trailer is being removed\nby the hardware and the nexthdr field is conveyed via PET. This way\nwe avoid both the need to access the trailer (cache miss) and to\ncompute its relative checksum, which significantly improve\nthe performance.\n\nExperiment shows that trailer removal improves the performance by\n2Gbps, (netperf). Both forwarding and host-to-host configurations.\n\nSigned-off-by: Yossi Kuperman \u003cyossiku@mellanox.com\u003e\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "581fdddee420cebe2cb781cb3c84c82676a86949",
      "tree": "2276d85a576277db99f3728990300e364d947aa0",
      "parents": [
        "d83a69c2b1b17a8aedc7a75ba8b620bfd2057e93"
      ],
      "author": {
        "name": "Yossi Kuperman",
        "email": "yossiku@mellanox.com",
        "time": "Sun Oct 22 19:43:58 2017 +0300"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Wed Mar 07 15:53:17 2018 -0800"
      },
      "message": "net/mlx5: IPSec, Generalize sandbox QP commands\n\nThe current code assume only SA QP commands.\nRefactor in order to pave the way for new QP commands:\n1. Generic cmd response format.\n2. SA cmd checks are in dedicated functions.\n3. Aligned debug prints.\n\nSigned-off-by: Yossi Kuperman \u003cyossiku@mellanox.com\u003e\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "bcde6b725f156a828d129a64d82730b21de9d44f",
      "tree": "6479506b04ffb333d3a651de4e7d938486ac9ec7",
      "parents": [
        "d1f1b9cbf34c667d06adc44136e448cade8e28d9",
        "e810bf5e96e327500cc6334f9d56c8047aaabcff"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 15:28:13 2018 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 15:28:13 2018 -0500"
      },
      "message": "Merge tag \u0027mlx5-updates-2018-02-28-1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux\n\nSaeed Mahameed says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nmlx5-updates-2018-02-28-1 (IPSec-1)\n\nThis series consists of some fixes and refactors for the mlx5 drivers,\nespecially around the FPGA and flow steering. Most of them are trivial\nfixes and are the foundation of allowing IPSec acceleration from user-space.\n\nWe use flow steering abstraction in order to accelerate IPSec packets.\nWhen a user creates a steering rule, [s]he states that we\u0027ll carry an\nencrypt/decrypt flow action (using a specific configuration) for every\npacket which conforms to a certain match. Since currently offloading these\npackets is done via FPGA, we\u0027ll add another set of flow steering ops.\nThese ops will execute the required FPGA commands and then call the\nstandard steering ops.\n\nIn order to achieve this, we need that the commands will get all the\nrequired information. Therefore, we pass the fte object and embed the\nflow_action struct inside the fte. In addition, we add the shim layer\nthat will later be used for alternating between the standard and the\nFPGA steering commands.\n\nSome fixes, like \" net/mlx5e: Wait for FPGA command responses with a timeout\"\nare very relevant for user-space applications, as these applications could\nbe killed, but we still want to wait for the FPGA and update the kernel\u0027s\ndatabase.\n\nRegards,\nAviad and Matan\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ec54cb44e6731c3cb251bcf9251d65a4b4f6306",
      "tree": "6ba70c6dc5096396e17e71e6a620eeccfb108277",
      "parents": [
        "b2b19494b80adc9d0e1e5631a69a24af47a5502c"
      ],
      "author": {
        "name": "Paolo Abeni",
        "email": "pabeni@redhat.com",
        "time": "Tue Mar 06 10:56:31 2018 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 12:38:24 2018 -0500"
      },
      "message": "net: unpollute priv_flags space\n\nthe ipvlan device driver defines and uses 2 bits inside the priv_flags\nnet_device field. Such bits and the related helper are used only\ninside the ipvlan device driver, and the core networking does not\nneed to be aware of them.\n\nThis change moves netif_is_ipvlan* helper in the ipvlan driver and\nre-implement them looking for ipvlan specific symbols instead of\nusing priv_flags.\n\nOverall this frees two bits inside priv_flags - and move the following\nones to avoid gaps - without any intended functional change.\n\nSigned-off-by: Paolo Abeni \u003cpabeni@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2695578b896aea472b2c0dcbe9d92daa71738484",
      "tree": "ec70e8b074240811119452a9004f148343d7cabe",
      "parents": [
        "35d889d10b649fda66121891ec05eca88150059d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Mar 05 11:41:13 2018 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 11:46:39 2018 -0500"
      },
      "message": "net: usbnet: fix potential deadlock on 32bit hosts\n\nMarek reported a LOCKDEP issue occurring on 32bit host,\nthat we tracked down to the fact that usbnet could either\nrun from soft or hard irqs.\n\nThis patch adds u64_stats_update_begin_irqsave() and\nu64_stats_update_end_irqrestore() helpers to solve this case.\n\n[   17.768040] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[   17.772239] WARNING: inconsistent lock state\n[   17.776511] 4.16.0-rc3-next-20180227-00007-g876c53a7493c #453 Not tainted\n[   17.783329] --------------------------------\n[   17.787580] inconsistent {IN-HARDIRQ-W} -\u003e {HARDIRQ-ON-W} usage.\n[   17.793607] swapper/0/0 [HC0[0]:SC1[1]:HE1:SE0] takes:\n[   17.798751]  (\u0026syncp-\u003eseq#5){?.-.}, at: [\u003c9b22e5f0\u003e]\nasix_rx_fixup_internal+0x188/0x288\n[   17.806790] {IN-HARDIRQ-W} state was registered at:\n[   17.811677]   tx_complete+0x100/0x208\n[   17.815319]   __usb_hcd_giveback_urb+0x60/0xf0\n[   17.819770]   xhci_giveback_urb_in_irq+0xa8/0x240\n[   17.824469]   xhci_td_cleanup+0xf4/0x16c\n[   17.828367]   xhci_irq+0xe74/0x2240\n[   17.831827]   usb_hcd_irq+0x24/0x38\n[   17.835343]   __handle_irq_event_percpu+0x98/0x510\n[   17.840111]   handle_irq_event_percpu+0x1c/0x58\n[   17.844623]   handle_irq_event+0x38/0x5c\n[   17.848519]   handle_fasteoi_irq+0xa4/0x138\n[   17.852681]   generic_handle_irq+0x18/0x28\n[   17.856760]   __handle_domain_irq+0x6c/0xe4\n[   17.860941]   gic_handle_irq+0x54/0xa0\n[   17.864666]   __irq_svc+0x70/0xb0\n[   17.867964]   arch_cpu_idle+0x20/0x3c\n[   17.871578]   arch_cpu_idle+0x20/0x3c\n[   17.875190]   do_idle+0x144/0x218\n[   17.878468]   cpu_startup_entry+0x18/0x1c\n[   17.882454]   start_kernel+0x394/0x400\n[   17.886177] irq event stamp: 161912\n[   17.889616] hardirqs last  enabled at (161912): [\u003c7bedfacf\u003e]\n__netdev_alloc_skb+0xcc/0x140\n[   17.897893] hardirqs last disabled at (161911): [\u003cd58261d0\u003e]\n__netdev_alloc_skb+0x94/0x140\n[   17.904903] exynos5-hsi2c 12ca0000.i2c: tx timeout\n[   17.906116] softirqs last  enabled at (161904): [\u003c387102ff\u003e]\nirq_enter+0x78/0x80\n[   17.906123] softirqs last disabled at (161905): [\u003ccf4c628e\u003e]\nirq_exit+0x134/0x158\n[   17.925722].\n[   17.925722] other info that might help us debug this:\n[   17.933435]  Possible unsafe locking scenario:\n[   17.933435].\n[   17.940331]        CPU0\n[   17.942488]        ----\n[   17.944894]   lock(\u0026syncp-\u003eseq#5);\n[   17.948274]   \u003cInterrupt\u003e\n[   17.950847]     lock(\u0026syncp-\u003eseq#5);\n[   17.954386].\n[   17.954386]  *** DEADLOCK ***\n[   17.954386].\n[   17.962422] no locks held by swapper/0/0.\n\nFixes: c8b5d129ee29 (\"net: usbnet: support 64bit stats\")\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nCc: Greg Ungerer \u003cgerg@linux-m68k.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3dcf8eb615537526bd42ff27a081d46d337816e",
      "tree": "b9d783bcc753f9a78d238535a30a55050413eca8",
      "parents": [
        "25b5cdfcce1b57971840505dfc78556bd12dea6d"
      ],
      "author": {
        "name": "Paul Blakey",
        "email": "paulb@mellanox.com",
        "time": "Sun Mar 04 17:29:48 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 07 10:44:02 2018 -0500"
      },
      "message": "rhashtable: Fix rhlist duplicates insertion\n\nWhen inserting duplicate objects (those with the same key),\ncurrent rhlist implementation messes up the chain pointers by\nupdating the bucket pointer instead of prev next pointer to the\nnewly inserted node. This causes missing elements on removal and\ntravesal.\n\nFix that by properly updating pprev pointer to point to\nthe correct rhash_head next pointer.\n\nIssue: 1241076\nChange-Id: I86b2c140bcb4aeb10b70a72a267ff590bb2b17e7\nFixes: ca26893f05e8 (\u0027rhashtable: Add rhlist interface\u0027)\nSigned-off-by: Paul Blakey \u003cpaulb@mellanox.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3346c4873733a109bea29467308a754038b886a9",
      "tree": "57023d603fe65a84e54ea13e4c44afac26e4b86d",
      "parents": [
        "d2ec6a35e834f953790cfea8a4f8a1415d19a431"
      ],
      "author": {
        "name": "Boris Pismenny",
        "email": "borisp@mellanox.com",
        "time": "Sun Aug 20 15:13:08 2017 +0300"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Tue Mar 06 22:20:14 2018 -0800"
      },
      "message": "{net,IB}/mlx5: Add flow steering helpers\n\nAdd helper functions that check if a protocol is\npart of a flow steering match criteria.\n\nSigned-off-by: Boris Pismenny \u003cborisp@mellanox.com\u003e\nSigned-off-by: Matan Barak \u003cmatanb@mellanox.com\u003e\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "5f4183781a303da5ab6731b8c19328c5b9df89fa",
      "tree": "44d59a08fc6872245f66c4e2219609a488ee1fba",
      "parents": [
        "af76c50198d1db136bbf293f3700c80722116831"
      ],
      "author": {
        "name": "Aviad Yehezkel",
        "email": "aviadye@mellanox.com",
        "time": "Sun Feb 18 13:17:17 2018 +0200"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Tue Mar 06 22:20:13 2018 -0800"
      },
      "message": "net/mlx5: Add empty egress namespace to flow steering core\n\nCurrently, we don\u0027t support egress flow steering namespace in mlx5\nflow steering core implementation. However, when we want to encrypt\na packet, we model it as a flow steering rule in the egress path.\nTo overcome this, we add an empty egress namespace to flow steering.\nThis namespace is initialized only when ipsec support exists.\nIn the future, this will grow to a full blown full steering\nimplementation, resembling the ingress path.\n\nSigned-off-by: Matan Barak \u003cmatanb@mellanox.com\u003e\nSigned-off-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "a9db0ecf1578894ea3405f3eb5a441508840d479",
      "tree": "86a65df95c3e70b985b5f3c1106bb237a20e8d0b",
      "parents": [
        "075572d4b7aec1fcd6e1bd66ee8e0e06501f719f"
      ],
      "author": {
        "name": "Matan Barak",
        "email": "matanb@mellanox.com",
        "time": "Wed Aug 16 09:43:48 2017 +0300"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Tue Mar 06 22:06:33 2018 -0800"
      },
      "message": "{net,IB}/mlx5: Add has_tag to mlx5_flow_act\n\nThe has_tag member will indicate whether a tag action was specified\nin flow specification.\n\nA flow tag 0 \u003d MLX5_FS_DEFAULT_FLOW_TAG is assumed a valid flow tag\nthat is currently used by mlx5 RDMA driver, whereas in HW flow_tag \u003d 0\nmeans that the user doesn\u0027t care about flow_tag.  HW always provide\na flow_tag \u003d 0 if all flow tags requested on a specific flow are 0.\n\nSo we need a way (in the driver) to differentiate between a user really\nrequesting flow_tag \u003d 0 and a user who does not care, in order to be\nable to report conflicting flow tags on a specific flow.\n\nSigned-off-by: Matan Barak \u003cmatanb@mellanox.com\u003e\nReviewed-by: Aviad Yehezkel \u003caviadye@mellanox.com\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "86f84779d8e92a690b2f281175ea06b884cb6fa4",
      "tree": "3a02fdc6f7ac0e683f5a1a9b5f924dd855cde12a",
      "parents": [
        "ce380619fab99036f5e745c7a865b21c59f005f6",
        "f6a015498dcaee72f80283cb7873d88deb07129c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 06 12:41:30 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 06 12:41:30 2018 -0800"
      },
      "message": "Merge branch \u0027siginfo-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull sigingo fix from Eric Biederman:\n \"The kbuild test robot found that I accidentally moved si_pkey when I\n  was cleaning up siginfo_t. A short followed by an int with the int\n  having 8 byte alignment. Sheesh siginfo_t is a weird structure.\n\n  I have now corrected it and added build time checks that with a little\n  luck will catch any similar future mistakes. The build time checks\n  were sufficient for me to verify the bug and to verify my fix. So they\n  are at least useful this once.\"\n\n* \u0027siginfo-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:\n  signal/x86: Include the field offsets in the build time checks\n  signal: Correct the offset of si_pkey in struct siginfo\n"
    },
    {
      "commit": "cb88a0588717ba6c756cb5972d75766b273a6817",
      "tree": "fe261e177e2b135b822ca328348949897f61dc49",
      "parents": [
        "9a513c905bb95bef79d96feb08621c1ec8d8c4bb"
      ],
      "author": {
        "name": "Danilo Krummrich",
        "email": "danilokrummrich@dk-develop.de",
        "time": "Tue Mar 06 09:38:49 2018 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Mar 06 09:17:34 2018 -0800"
      },
      "message": "usb: quirks: add control message delay for 1b1c:1b20\n\nCorsair Strafe RGB keyboard does not respond to usb control messages\nsometimes and hence generates timeouts.\n\nCommit de3af5bf259d (\"usb: quirks: add delay init quirk for Corsair\nStrafe RGB keyboard\") tried to fix those timeouts by adding\nUSB_QUIRK_DELAY_INIT.\n\nUnfortunately, even with this quirk timeouts of usb_control_msg()\ncan still be seen, but with a lower frequency (approx. 1 out of 15):\n\n[   29.103520] usb 1-8: string descriptor 0 read error: -110\n[   34.363097] usb 1-8: can\u0027t set config #1, error -110\n\nAdding further delays to different locations where usb control\nmessages are issued just moves the timeouts to other locations,\ne.g.:\n\n[   35.400533] usbhid 1-8:1.0: can\u0027t add hid device: -110\n[   35.401014] usbhid: probe of 1-8:1.0 failed with error -110\n\nThe only way to reliably avoid those issues is having a pause after\neach usb control message. In approx. 200 boot cycles no more timeouts\nwere seen.\n\nAddionaly, keep USB_QUIRK_DELAY_INIT as it turned out to be necessary\nto have the delay in hub_port_connect() after hub_port_init().\n\nThe overall boot time seems not to be influenced by these additional\ndelays, even on fast machines and lightweight distributions.\n\nFixes: de3af5bf259d (\"usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard\")\nCc: stable@vger.kernel.org\nSigned-off-by: Danilo Krummrich \u003cdanilokrummrich@dk-develop.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "859d880cf544dbe095ce97534ef04cd88ba2f2b4",
      "tree": "d4c2ff0121b6d3966518809be387538653503e63",
      "parents": [
        "9026e820cbd2ea39a06a129ecdddf2739bd3602b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 06 00:20:25 2018 -0600"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 06 00:22:36 2018 -0600"
      },
      "message": "signal: Correct the offset of si_pkey in struct siginfo\n\nThe change moving addr_lsb into the _sigfault union failed to take\ninto account that _sigfault._addr_bnd._lower being a pointer forced\nthe entire union to have pointer alignment.  In practice this only\nmattered for the offset of si_pkey which is why this has taken so long\nto discover.\n\nTo correct this change _dummy_pkey and _dummy_bnd to have pointer type.\n\nReported-by: kernel test robot \u003cshun.hao@intel.com\u003e\nFixes: b68a68d3dcc1 (\"signal: Move addr_lsb into the _sigfault union for clarity\")\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "0f3e9c97eb5a97972b0c0076a5cc01bb142f8e70",
      "tree": "439c89ea3c87496c23e167148f2cdbefb6e82b30",
      "parents": [
        "ef3f6c256f0b4711a3ef1489797b95820be5ab01",
        "ce380619fab99036f5e745c7a865b21c59f005f6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 06 00:53:44 2018 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 06 01:20:46 2018 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nAll of the conflicts were cases of overlapping changes.\n\nIn net/core/devlink.c, we have to make care that the\nresouce size_params have become a struct member rather\nthan a pointer to such an object.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6f1086e29e93621a6394b94b8c0e4a4e490f38b",
      "tree": "cd05b1932dda3f4f8d2a3b3ff276db909e213cb7",
      "parents": [
        "c37406e05d1e541df40b8b81c4bd40753fcaf414"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "linux@roeck-us.net",
        "time": "Mon Mar 05 15:22:30 2018 -0800"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "helgaas@kernel.org",
        "time": "Mon Mar 05 18:03:20 2018 -0600"
      },
      "message": "PCI: Move of_irq_parse_and_map_pci() declaration under OF_IRQ\n\nSince commit 4670d610d592 (\"PCI: Move OF-related PCI functions into\nPCI core\"), sparc:allmodconfig fails to build with the following error.\n\n  pcie-cadence-host.c:(.text+0x4c4): undefined reference to `of_irq_parse_and_map_pci\u0027\n  pcie-cadence-host.c:(.text+0x4c8): undefined reference to `of_irq_parse_and_map_pci\u0027\n\nof_irq_parse_and_map_pci() is now only available if OF_IRQ is enabled.\nMake its declaration and its dummy function dependent on OF_IRQ to solve\nthe problem.\n\nFixes: 4670d610d592 (\"PCI: Move OF-related PCI functions into PCI core\")\nSigned-off-by: Guenter Roeck \u003clinux@roeck-us.net\u003e\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nAcked-by: Rob Herring \u003crobh@kernel.org\u003e"
    },
    {
      "commit": "547046141f44dba075207fd343e3e032e129c9ac",
      "tree": "3979961d838def5efa9f3835d19e05d60b3b4d88",
      "parents": [
        "661e50bc853209e41a5c14a290ca4decc43cbfd1",
        "a7f0fb1bfb66ded5d556d6723d691b77a7146b6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 11:29:24 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 05 11:29:24 2018 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) Use an appropriate TSQ pacing shift in mac80211, from Toke\n    Høiland-Jørgensen.\n\n 2) Just like ipv4\u0027s ip_route_me_harder(), we have to use skb_to_full_sk\n    in ip6_route_me_harder, from Eric Dumazet.\n\n 3) Fix several shutdown races and similar other problems in l2tp, from\n    James Chapman.\n\n 4) Handle missing XDP flush properly in tuntap, for real this time.\n    From Jason Wang.\n\n 5) Out-of-bounds access in powerpc ebpf tailcalls, from Daniel\n    Borkmann.\n\n 6) Fix phy_resume() locking, from Andrew Lunn.\n\n 7) IFLA_MTU values are ignored on newlink for some tunnel types, fix\n    from Xin Long.\n\n 8) Revert F-RTO middle box workarounds, they only handle one dimension\n    of the problem. From Yuchung Cheng.\n\n 9) Fix socket refcounting in RDS, from Ka-Cheong Poon.\n\n10) Don\u0027t allow ppp unit registration to an unregistered channel, from\n    Guillaume Nault.\n\n11) Various hv_netvsc fixes from Stephen Hemminger.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (98 commits)\n  hv_netvsc: propagate rx filters to VF\n  hv_netvsc: filter multicast/broadcast\n  hv_netvsc: defer queue selection to VF\n  hv_netvsc: use napi_schedule_irqoff\n  hv_netvsc: fix race in napi poll when rescheduling\n  hv_netvsc: cancel subchannel setup before halting device\n  hv_netvsc: fix error unwind handling if vmbus_open fails\n  hv_netvsc: only wake transmit queue if link is up\n  hv_netvsc: avoid retry on send during shutdown\n  virtio-net: re enable XDP_REDIRECT for mergeable buffer\n  ppp: prevent unregistered channels from connecting to PPP units\n  tc-testing: skbmod: fix match value of ethertype\n  mlxsw: spectrum_switchdev: Check success of FDB add operation\n  net: make skb_gso_*_seglen functions private\n  net: xfrm: use skb_gso_validate_network_len() to check gso sizes\n  net: sched: tbf: handle GSO_BY_FRAGS case in enqueue\n  net: rename skb_gso_validate_mtu -\u003e skb_gso_validate_network_len\n  rds: Incorrect reference counting in TCP socket creation\n  net: ethtool: don\u0027t ignore return from driver get_fecparam method\n  vrf: check forwarding on the original netdevice when generating ICMP dest unreachable\n  ...\n"
    },
    {
      "commit": "a4a77718ee4053a44aa40fe67247c1afb5ce2f1e",
      "tree": "7b62a1bae82408a1ba43822d2364ad36f02f4f69",
      "parents": [
        "80f5974d15ea96c7112604c7999a83a502d15b9f"
      ],
      "author": {
        "name": "Daniel Axtens",
        "email": "dja@axtens.net",
        "time": "Thu Mar 01 17:13:40 2018 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 04 17:49:17 2018 -0500"
      },
      "message": "net: make skb_gso_*_seglen functions private\n\nThey\u0027re very hard to use properly as they do not consider the\nGSO_BY_FRAGS case. Code should use skb_gso_validate_network_len\nand skb_gso_validate_mac_len as they do consider this case.\n\nMake the seglen functions static, which stops people using them\noutside of skbuff.c\n\nSigned-off-by: Daniel Axtens \u003cdja@axtens.net\u003e\nReviewed-by: Marcelo Ricardo Leitner \u003cmarcelo.leitner@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "779b7931b27bfa80bac46d0115d229259aef580b",
      "tree": "387a59875c8aac450234a701a52fd5da695f0f66",
      "parents": [
        "4e00f5d5f9fc0f20774d8675a815b05ef428bb0d"
      ],
      "author": {
        "name": "Daniel Axtens",
        "email": "dja@axtens.net",
        "time": "Thu Mar 01 17:13:37 2018 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 04 17:49:17 2018 -0500"
      },
      "message": "net: rename skb_gso_validate_mtu -\u003e skb_gso_validate_network_len\n\nIf you take a GSO skb, and split it into packets, will the network\nlength (L3 headers + L4 headers + payload) of those packets be small\nenough to fit within a given MTU?\n\nskb_gso_validate_mtu gives you the answer to that question. However,\nwe recently added to add a way to validate the MAC length of a split GSO\nskb (L2+L3+L4+payload), and the names get confusing, so rename\nskb_gso_validate_mtu to skb_gso_validate_network_len\n\nSigned-off-by: Daniel Axtens \u003cdja@axtens.net\u003e\nReviewed-by: Marcelo Ricardo Leitner \u003cmarcelo.leitner@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20f14172cbb8d711a47d336355fa947631444f60",
      "tree": "4991434323d5568d72037e7d9557ff4a0cdc70e3",
      "parents": [
        "0eb3412a68c354c0aa4adc4a24ec533154bd2172",
        "949b93250a566cc7a578b4f829cf76b70d19a62c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 03 14:32:00 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 03 14:32:00 2018 -0800"
      },
      "message": "Merge branch \u0027libnvdimm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm\n\nPull libnvdimm fixes from Dan Williams:\n \"A 4.16 regression fix, three fixes for -stable, and a cleanup fix:\n\n   - During the merge window support for the new ACPI NVDIMM Platform\n     Capabilities structure disabled support for \"deep flush\", a\n     force-unit- access like mechanism for persistent memory. Restore\n     that mechanism.\n\n   - VFIO like RDMA is yet one more memory registration / pinning\n     interface that is incompatible with Filesystem-DAX. Disable long\n     term pins of Filesystem-DAX mappings via VFIO.\n\n   - The Filesystem-DAX detection to prevent long terms pins mistakenly\n     also disabled Device-DAX pins which are not subject to the same\n     block- map collision concerns.\n\n   - Similar to the setup path, softlockup warnings can trigger in the\n     shutdown path for large persistent memory namespaces. Teach\n     for_each_device_pfn() to perform cond_resched() in all cases.\n\n   - Boaz noticed that the might_sleep() in dax_direct_access() is stale\n     as of the v4.15 kernel.\n\n  These have received a build success notification from the 0day robot,\n  and the longterm pin fixes have appeared in -next. However, I recently\n  rebased the tree to remove some other fixes that need to be reworked\n  after review feedback.\n\n* \u0027libnvdimm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:\n  memremap: fix softlockup reports at teardown\n  libnvdimm: re-enable deep flush for pmem devices via fsync()\n  vfio: disable filesystem-dax page pinning\n  dax: fix vma_is_fsdax() helper\n  dax: -\u003edirect_access does not sleep anymore\n"
    },
    {
      "commit": "d02f51cbcf12b09ab945873e35046045875eed9a",
      "tree": "986c3a4022275f49fde59e84ab1435ff738b8752",
      "parents": [
        "4a0c7191c75e94b0aaaa52855bf44d94bfe97403"
      ],
      "author": {
        "name": "Daniel Axtens",
        "email": "dja@axtens.net",
        "time": "Sat Mar 03 03:03:46 2018 +0100"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Sat Mar 03 13:01:11 2018 -0800"
      },
      "message": "bpf: fix bpf_skb_adjust_net/bpf_skb_proto_xlat to deal with gso sctp skbs\n\nSCTP GSO skbs have a gso_size of GSO_BY_FRAGS, so any sort of\nunconditionally mangling of that will result in nonsense value\nand would corrupt the skb later on.\n\nTherefore, i) add two helpers skb_increase_gso_size() and\nskb_decrease_gso_size() that would throw a one time warning and\nbail out for such skbs and ii) refuse and return early with an\nerror in those BPF helpers that are affected. We do need to bail\nout as early as possible from there before any changes on the\nskb have been performed.\n\nFixes: 6578171a7ff0 (\"bpf: add bpf_skb_change_proto helper\")\nCo-authored-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nSigned-off-by: Daniel Axtens \u003cdja@axtens.net\u003e\nCc: Marcelo Ricardo Leitner \u003cmarcelo.leitner@gmail.com\u003e\nAcked-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "fde9fc766e96c494b82931b1d270a9a751be07c0",
      "tree": "ca198a94b3e09f0275af1099aac640ef11584c06",
      "parents": [
        "902f4d067a50ccf645a58dd5fb1d113b6e0f9b5b"
      ],
      "author": {
        "name": "Matt Redfearn",
        "email": "matt.redfearn@mips.com",
        "time": "Mon Feb 19 16:55:06 2018 +0000"
      },
      "committer": {
        "name": "James Hogan",
        "email": "jhogan@kernel.org",
        "time": "Fri Mar 02 21:31:55 2018 +0000"
      },
      "message": "signals: Move put_compat_sigset to compat.h to silence hardened usercopy\n\nSince commit afcc90f8621e (\"usercopy: WARN() on slab cache usercopy\nregion violations\"), MIPS systems booting with a compat root filesystem\nemit a warning when copying compat siginfo to userspace:\n\nWARNING: CPU: 0 PID: 953 at mm/usercopy.c:81 usercopy_warn+0x98/0xe8\nBad or missing usercopy whitelist? Kernel memory exposure attempt\ndetected from SLAB object \u0027task_struct\u0027 (offset 1432, size 16)!\nModules linked in:\nCPU: 0 PID: 953 Comm: S01logging Not tainted 4.16.0-rc2 #10\nStack : ffffffff808c0000 0000000000000000 0000000000000001 65ac85163f3bdc4a\n\t65ac85163f3bdc4a 0000000000000000 90000000ff667ab8 ffffffff808c0000\n\t00000000000003f8 ffffffff808d0000 00000000000000d1 0000000000000000\n\t000000000000003c 0000000000000000 ffffffff808c8ca8 ffffffff808d0000\n\tffffffff808d0000 ffffffff80810000 fffffc0000000000 ffffffff80785c30\n\t0000000000000009 0000000000000051 90000000ff667eb0 90000000ff667db0\n\t000000007fe0d938 0000000000000018 ffffffff80449958 0000000020052798\n\tffffffff808c0000 90000000ff664000 90000000ff667ab0 00000000100c0000\n\tffffffff80698810 0000000000000000 0000000000000000 0000000000000000\n\t0000000000000000 0000000000000000 ffffffff8010d02c 65ac85163f3bdc4a\n\t...\nCall Trace:\n[\u003cffffffff8010d02c\u003e] show_stack+0x9c/0x130\n[\u003cffffffff80698810\u003e] dump_stack+0x90/0xd0\n[\u003cffffffff80137b78\u003e] __warn+0x100/0x118\n[\u003cffffffff80137bdc\u003e] warn_slowpath_fmt+0x4c/0x70\n[\u003cffffffff8021e4a8\u003e] usercopy_warn+0x98/0xe8\n[\u003cffffffff8021e68c\u003e] __check_object_size+0xfc/0x250\n[\u003cffffffff801bbfb8\u003e] put_compat_sigset+0x30/0x88\n[\u003cffffffff8011af24\u003e] setup_rt_frame_n32+0xc4/0x160\n[\u003cffffffff8010b8b4\u003e] do_signal+0x19c/0x230\n[\u003cffffffff8010c408\u003e] do_notify_resume+0x60/0x78\n[\u003cffffffff80106f50\u003e] work_notifysig+0x10/0x18\n---[ end trace 88fffbf69147f48a ]---\n\nCommit 5905429ad856 (\"fork: Provide usercopy whitelisting for\ntask_struct\") noted that:\n\n\"While the blocked and saved_sigmask fields of task_struct are copied to\nuserspace (via sigmask_to_save() and setup_rt_frame()), it is always\ncopied with a static length (i.e. sizeof(sigset_t)).\"\n\nHowever, this is not true in the case of compat signals, whose sigset\nis copied by put_compat_sigset and receives size as an argument.\n\nAt most call sites, put_compat_sigset is copying a sigset from the\ncurrent task_struct. This triggers a warning when\nCONFIG_HARDENED_USERCOPY is active. However, by marking this function as\nstatic inline, the warning can be avoided because in all of these cases\nthe size is constant at compile time, which is allowed. The only site\nwhere this is not the case is handling the rt_sigpending syscall, but\nthere the copy is being made from a stack local variable so does not\ntrigger the warning.\n\nMove put_compat_sigset to compat.h, and mark it static inline. This\nfixes the WARN on MIPS.\n\nFixes: afcc90f8621e (\"usercopy: WARN() on slab cache usercopy region violations\")\nSigned-off-by: Matt Redfearn \u003cmatt.redfearn@mips.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: \"Dmitry V . Levin\" \u003cldv@altlinux.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: kernel-hardening@lists.openwall.com\nCc: linux-mips@linux-mips.org\nPatchwork: https://patchwork.linux-mips.org/patch/18639/\nSigned-off-by: James Hogan \u003cjhogan@kernel.org\u003e\n"
    },
    {
      "commit": "fb6d47a592678ad1f053d9584b4f7dc4095a5c53",
      "tree": "980ee4624d5d54b5e7794f4fc124eb5f324ae013",
      "parents": [
        "ff06b55ec43d423ba3448080568ded7201f775cb",
        "158e61865a31ef7abf39629c37285810504d60b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 02 09:35:36 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 02 09:35:36 2018 -0800"
      },
      "message": "Merge tag \u0027for-linus-20180302\u0027 of git://git.kernel.dk/linux-block\n\nPull block fixes from Jens Axboe:\n \"A collection of fixes for this series. This is a little larger than\n  usual at this time, but that\u0027s mainly because I was out on vacation\n  last week. Nothing in here is major in any way, it\u0027s just two weeks of\n  fixes. This contains:\n\n   - NVMe pull from Keith, with a set of fixes from the usual suspects.\n\n   - mq-deadline zone unlock fix from Damien, fixing an issue with the\n     SMR zone locking added for 4.16.\n\n   - two bcache fixes sent in by Michael, with changes from Coly and\n     Tang.\n\n   - comment typo fix from Eric for blktrace.\n\n   - return-value error handling fix for nbd, from Gustavo.\n\n   - fix a direct-io case where we don\u0027t defer to a completion handler,\n     making us sleep from IRQ device completion. From Jan.\n\n   - a small series from Jan fixing up holes around handling of bdev\n     references.\n\n   - small set of regression fixes from Jiufei, mostly fixing problems\n     around the gendisk pointer -\u003e partition index change.\n\n   - regression fix from Ming, fixing a boundary issue with the discard\n     page cache invalidation.\n\n   - two-patch series from Ming, fixing both a core blk-mq-sched and\n     kyber issue around token freeing on a requeue condition\"\n\n* tag \u0027for-linus-20180302\u0027 of git://git.kernel.dk/linux-block: (24 commits)\n  block: fix a typo\n  block: display the correct diskname for bio\n  block: fix the count of PGPGOUT for WRITE_SAME\n  mq-deadline: Make sure to always unlock zones\n  nvmet: fix PSDT field check in command format\n  nvme-multipath: fix sysfs dangerously created links\n  nbd: fix return value in error handling path\n  bcache: fix kcrashes with fio in RAID5 backend dev\n  bcache: correct flash only vols (check all uuids)\n  blktrace_api.h: fix comment for struct blk_user_trace_setup\n  blockdev: Avoid two active bdev inodes for one device\n  genhd: Fix BUG in blkdev_open()\n  genhd: Fix use after free in __blkdev_get()\n  genhd: Add helper put_disk_and_module()\n  genhd: Rename get_disk() to get_disk_and_module()\n  genhd: Fix leaked module reference for NVME devices\n  direct-io: Fix sleep in atomic due to sync AIO\n  nvme-pci: Fix nvme queue cleanup if IRQ setup fails\n  block: kyber: fix domain token leak during requeue\n  blk-mq: don\u0027t call io sched\u0027s .requeue_request when requeueing rq to -\u003edispatch\n  ...\n"
    },
    {
      "commit": "e8a714e086e42972fd0e2d59e90c28eb2d839429",
      "tree": "f49dc2eb01b2180016ba3da95158fea6e0d13c8b",
      "parents": [
        "6ed33d3a06e6ded784a9fe2780b33d6cd2ba2df7"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "f.fainelli@gmail.com",
        "time": "Thu Mar 01 16:08:56 2018 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 21:23:34 2018 -0500"
      },
      "message": "net: phy: Export gen10g_* functions\n\nIn order to remove a fair amount of duplication in the different 10G PHY\ndrivers, export all gen10g_* functions to be able to make use of those.\nWhile we are at it, rename gen10g_soft_reset() to gen10g_no_soft_reset()\nto illustrate what it does.\n\nSigned-off-by: Florian Fainelli \u003cf.fainelli@gmail.com\u003e\n"
    },
    {
      "commit": "7b0db85737db3f4d76b2a412e4f19eae59b8b494",
      "tree": "9cde582f7276b75ffb8ea39e0c1b8cd07218a85b",
      "parents": [
        "889cd83cbe411dda854429f3223ab2d31a860a4a"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:39 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ipmr, ip6mr: Unite dumproute flows\n\nThe various MFC entries are being held in the same kind of mr_tables\nfor both ipmr and ip6mr, and their traversal logic is identical.\nAlso, with the exception of the addresses [and other small tidbits]\nthe major bulk of the nla setting is identical.\n\nUnite as much of the dumping as possible between the two.\nNotice this requires creating an mr_table iterator for each, as the\nfor-each preprocessor macro can\u0027t be used by the common logic.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "889cd83cbe411dda854429f3223ab2d31a860a4a",
      "tree": "8ee5193215dd00cb3209adf0e441938275e0b670",
      "parents": [
        "3feda6b46f734704840685a62b645cbe4efb810c"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:38 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ip6mr: Remove MFC_NOTIFY and refactor flags\n\nMFC_NOTIFY exists in ip6mr, probably as some legacy code\n[was already removed for ipmr in commit\n06bd6c0370bb (\"net: ipmr: remove unused MFC_NOTIFY flag and make the flags enum\").\nRemove it from ip6mr as well, and move the enum into a common file;\nNotice MFC_OFFLOAD is currently only used by ipmr.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3feda6b46f734704840685a62b645cbe4efb810c",
      "tree": "86668b60b416240a85b705953450af932e0ab114",
      "parents": [
        "c8d6196803265484f7e1cdd1b00a188dc59a5988"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:37 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ipmr, ip6mr: Unite vif seq functions\n\nSame as previously done with the mfc seq, the logic for the vif seq is\nrefactored to be shared between ipmr and ip6mr.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8d6196803265484f7e1cdd1b00a188dc59a5988",
      "tree": "268700786a50db78ae60ba4bdbe34bb9d6c4069f",
      "parents": [
        "845c9a7ae7f5342ba42280c3a2f2aa92bce641d7"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:36 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ipmr, ip6mr: Unite mfc seq logic\n\nWith the exception of the final dump, ipmr and ip6mr have the exact same\nseq logic for traversing a given mr_table. Refactor that code and make\nit common.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "845c9a7ae7f5342ba42280c3a2f2aa92bce641d7",
      "tree": "7fea1a929b16c9a216b7d0ccd78e389a01db1a39",
      "parents": [
        "494fff56379c4ad5b8fe36a5b7ffede4044ca7bb"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:35 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ipmr, ip6mr: Unite logic for searching in MFC cache\n\nipmr and ip6mr utilize the exact same methods for searching the\nhashed resolved connections, difference being only in the construction\nof the hash comparison key.\n\nIn order to unite the flow, introduce an mr_table operation set that\nwould contain the protocol specific information required for common\nflows, in this case - the hash parameters and a comparison key\nrepresenting a (*,*) route.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "494fff56379c4ad5b8fe36a5b7ffede4044ca7bb",
      "tree": "700668965ff3ae706986235f91bb8c5267017617",
      "parents": [
        "0bbbf0e7d0e7ea8267836986346a9b3a35b74e4e"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:34 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ipmr, ip6mr: Make mfc_cache a common structure\n\nmfc_cache and mfc6_cache are almost identical - the main difference is\nin the origin/group addresses and comparison-key. Make a common\nstructure encapsulating most of the multicast routing logic  - mr_mfc\nand convert both ipmr and ip6mr into using it.\n\nFor easy conversion [casting, in this case] mr_mfc has to be the first\nfield inside every multicast routing abstraction utilizing it.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bbbf0e7d0e7ea8267836986346a9b3a35b74e4e",
      "tree": "4a7f295d9179f46de5181dab1501b423d9a6c23e",
      "parents": [
        "b70432f7319eb75b24ca57dde8146c5e27244780"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:33 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ipmr, ip6mr: Unite creation of new mr_table\n\nNow that both ipmr and ip6mr are using the same mr_table structure,\nwe can have a common function to allocate \u0026 initialize a new instance.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b70432f7319eb75b24ca57dde8146c5e27244780",
      "tree": "d26edbaa559a4aea6ba7583b37732555a8742a3e",
      "parents": [
        "87c418bf1323d57140f4b448715f64de3fbb7e91"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:32 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "mroute*: Make mr_table a common struct\n\nFollowing previous changes to ip6mr, mr_table and mr6_table are\nbasically the same [up to mr6_table having additional \u00276\u0027 suffixes to\nits variable names].\nMove the common structure definition into a common header; This\nrequires renaming all references in ip6mr to variables that had the\ndistinct suffix.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87c418bf1323d57140f4b448715f64de3fbb7e91",
      "tree": "012192a6a9b8fbe1901ddb636d0e2b01c1df2679",
      "parents": [
        "8571ab479a6e1ef46ead5ebee567e128a422767c"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:31 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ip6mr: Align hash implementation to ipmr\n\nSince commit 8fb472c09b9d (\"ipmr: improve hash scalability\") ipmr has\nbeen using rhashtable as a basis for its mfc routes, but ip6mr is\ncurrently still using the old private MFC hash implementation.\n\nAlign ip6mr to the current ipmr implementation.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8571ab479a6e1ef46ead5ebee567e128a422767c",
      "tree": "3e5db39b21f5835626ad4cad5bde3bc46c6db988",
      "parents": [
        "6853f21f764b04e58df5e44629fec1fb8f3cbf2e"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:30 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ip6mr: Make mroute_sk rcu-based\n\nIn ipmr the mr_table socket is handled under RCU. Introduce the same\nfor ip6mr.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6853f21f764b04e58df5e44629fec1fb8f3cbf2e",
      "tree": "c5b3a92c95ed6cf8c262f9c0f4ea92e7ccf3b73d",
      "parents": [
        "a25724b05af0e38232764fc0d0f984254e4b5c41"
      ],
      "author": {
        "name": "Yuval Mintz",
        "email": "yuvalm@mellanox.com",
        "time": "Wed Feb 28 23:29:29 2018 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 01 13:13:23 2018 -0500"
      },
      "message": "ipmr,ipmr6: Define a uniform vif_device\n\nThe two implementations have almost identical structures - vif_device and\nmif_device. As a step toward uniforming the mr_tables, eliminate the\nmif_device and relocate the vif_device definition into a new common\nheader file.\n\nAlso, introduce a common initializing function for setting most of the\nvif_device fields in a new common source file. This requires modifying\nthe ipv{4,6] Kconfig and ipv4 makefile as we\u0027re introducing a new common\nconfig option - CONFIG_IP_MROUTE_COMMON.\n\nSigned-off-by: Yuval Mintz \u003cyuvalm@mellanox.com\u003e\nAcked-by: Nikolay Aleksandrov \u003cnikolay@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c0fb1e313aaf4e8edec22433c8b22dd308e466c",
      "tree": "8547474277534911851c0370b417b86ba1b39aac",
      "parents": [
        "7c5a0dcf557c6511a61e092ba887de28882fe857"
      ],
      "author": {
        "name": "Jiufei Xue",
        "email": "jiufei.xue@linux.alibaba.com",
        "time": "Tue Feb 27 20:10:18 2018 +0800"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Thu Mar 01 08:41:25 2018 -0700"
      },
      "message": "block: display the correct diskname for bio\n\nbio_devname use __bdevname to display the device name, and can\nonly show the major and minor of the part0,\nFix this by using disk_name to display the correct name.\n\nFixes: 74d46992e0d9 (\"block: replace bi_bdev with a gendisk pointer and partitions index\")\nReviewed-by: Omar Sandoval \u003cosandov@fb.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jiufei Xue \u003cjiufei.xue@linux.alibaba.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "a9c79364df324a69ba1b71accd5b8a3155e570ac",
      "tree": "73786bc66ac55fff0a496faf8f928978a2966fb4",
      "parents": [
        "03145864bd0fcac29e33442f39d67d4f28b0777c"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@armlinux.org.uk",
        "time": "Tue Feb 27 15:53:02 2018 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 28 11:07:11 2018 -0500"
      },
      "message": "phylink,sfp: negotiate interface format with MAC\n\nNegotiate the interface format with the MAC rather than requiring it to\nbe a fixed type specified solely by the SFP module.  This allows modules\nthat can work with several different interface signalling formats to\nselect a format compatible with the MAC - for example, a Fiber module\nsupporing Gigabit ethernet and faster connected to a Gigabit only MAC\nneeds to select the 1000BASE-X mode.\n\nSigned-off-by: Russell King \u003crmk+kernel@armlinux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb66cb0775609852b812c9bc2bd1589374317410",
      "tree": "af2e59d02b05936960ef61702048600cf2ca003a",
      "parents": [
        "3f5a68300a40fed52c02ba4f614c291028aa06cd",
        "ec9c2fb8ceb5b514c4820f732537cb2982de0620"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 28 09:54:54 2018 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 28 09:54:54 2018 -0500"
      },
      "message": "Merge tag \u0027mlx5-updates-2018-02-23\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux\n\nSaeed Mahameed says:\n\nmlx5-update-2018-02-23 (IB representors)\n\nFrom: Mark Bloch \u003cmarkb@mellanox.com\u003e\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nAdd IB representor when in switchdev mode\n\nThe following series adds support for an IB (RAW Ethernet only) device\nrepresentor which is created when the user switches to switchdev mode.\n\nToday when switching to switchdev mode the only representors which are\ncreated are net devices. Each netdev is a representor of a virtual\nfunction and any data sent via the representor is received on the virtual\nfunction, and any data sent via the virtual function is received by the\nrepresentor.\n\nFor the mlx5 driver the main use of this functionality is to be able to\nuse Open vSwitch on the hypervisor in order to manage/control traffic\nfrom/to the virtual functions. Open vSwitch can also work with  DPDK\ndevices and not just net devices, this series exposes an IB device, which\nMellanox PMD driver uses, which then can be used by Open vSwitch DPDK.\n\nAn IB device representor exposes only RAW Ethernet QP capabilities and\nthe ability to create flow rules to direct traffic to its RX queues. The\nstate of the IB device (ACTIVE/DOWN etc..) is based on the state of the\ncorresponding net device representor. No other RDMA/RoCE functionality is\ncurrently supported and no GID table is exposed.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28b0f8a6962a24ed21737578f3b1b07424635c9e",
      "tree": "63a5790c20028bda34f198cdea2871cc634611cf",
      "parents": [
        "4a3928c6f8a53fa1aed28ccba227742486e8ddcb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Feb 13 07:38:08 2018 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Feb 28 13:21:10 2018 +0100"
      },
      "message": "tty: make n_tty_read() always abort if hangup is in progress\n\nA tty is hung up by __tty_hangup() setting file-\u003ef_op to\nhung_up_tty_fops, which is skipped on ttys whose write operation isn\u0027t\ntty_write().  This means that, for example, /dev/console whose write\nop is redirected_tty_write() is never actually marked hung up.\n\nBecause n_tty_read() uses the hung up status to decide whether to\nabort the waiting readers, the lack of hung-up marking can lead to the\nfollowing scenario.\n\n 1. A session contains two processes.  The leader and its child.  The\n    child ignores SIGHUP.\n\n 2. The leader exits and starts disassociating from the controlling\n    terminal (/dev/console).\n\n 3. __tty_hangup() skips setting f_op to hung_up_tty_fops.\n\n 4. SIGHUP is delivered and ignored.\n\n 5. tty_ldisc_hangup() is invoked.  It wakes up the waits which should\n    clear the read lockers of tty-\u003eldisc_sem.\n\n 6. The reader wakes up but because tty_hung_up_p() is false, it\n    doesn\u0027t abort and goes back to sleep while read-holding\n    tty-\u003eldisc_sem.\n\n 7. The leader progresses to tty_ldisc_lock() in tty_ldisc_hangup()\n    and is now stuck in D sleep indefinitely waiting for\n    tty-\u003eldisc_sem.\n\nThe following is Alan\u0027s explanation on why some ttys aren\u0027t hung up.\n\n http://lkml.kernel.org/r/20171101170908.6ad08580@alans-desktop\n\n 1. It broke the serial consoles because they would hang up and close\n    down the hardware. With tty_port that *should* be fixable properly\n    for any cases remaining.\n\n 2. The console layer was (and still is) completely broken and doens\u0027t\n    refcount properly. So if you turn on console hangups it breaks (as\n    indeed does freeing consoles and half a dozen other things).\n\nAs neither can be fixed quickly, this patch works around the problem\nby introducing a new flag, TTY_HUPPING, which is used solely to tell\nn_tty_read() that hang-up is in progress for the console and the\nreaders should be aborted regardless of the hung-up status of the\ndevice.\n\nThe following is a sample hung task warning caused by this issue.\n\n  INFO: task agetty:2662 blocked for more than 120 seconds.\n        Not tainted 4.11.3-dbg-tty-lockup-02478-gfd6c7ee-dirty #28\n  \"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n      0  2662      1 0x00000086\n  Call Trace:\n   __schedule+0x267/0x890\n   schedule+0x36/0x80\n   schedule_timeout+0x23c/0x2e0\n   ldsem_down_write+0xce/0x1f6\n   tty_ldisc_lock+0x16/0x30\n   tty_ldisc_hangup+0xb3/0x1b0\n   __tty_hangup+0x300/0x410\n   disassociate_ctty+0x6c/0x290\n   do_exit+0x7ef/0xb00\n   do_group_exit+0x3f/0xa0\n   get_signal+0x1b3/0x5d0\n   do_signal+0x28/0x660\n   exit_to_usermode_loop+0x46/0x86\n   do_syscall_64+0x9c/0xb0\n   entry_SYSCALL64_slow_path+0x25/0x25\n\nThe following is the repro.  Run \"$PROG /dev/console\".  The parent\nprocess hangs in D state.\n\n  #include \u003csys/types.h\u003e\n  #include \u003csys/stat.h\u003e\n  #include \u003csys/wait.h\u003e\n  #include \u003csys/ioctl.h\u003e\n  #include \u003cfcntl.h\u003e\n  #include \u003cunistd.h\u003e\n  #include \u003cstdio.h\u003e\n  #include \u003cstdlib.h\u003e\n  #include \u003cerrno.h\u003e\n  #include \u003csignal.h\u003e\n  #include \u003ctime.h\u003e\n  #include \u003ctermios.h\u003e\n\n  int main(int argc, char **argv)\n  {\n\t  struct sigaction sact \u003d { .sa_handler \u003d SIG_IGN };\n\t  struct timespec ts1s \u003d { .tv_sec \u003d 1 };\n\t  pid_t pid;\n\t  int fd;\n\n\t  if (argc \u003c 2) {\n\t\t  fprintf(stderr, \"test-hung-tty /dev/$TTY\\n\");\n\t\t  return 1;\n\t  }\n\n\t  /* fork a child to ensure that it isn\u0027t already the session leader */\n\t  pid \u003d fork();\n\t  if (pid \u003c 0) {\n\t\t  perror(\"fork\");\n\t\t  return 1;\n\t  }\n\n\t  if (pid \u003e 0) {\n\t\t  /* top parent, wait for everyone */\n\t\t  while (waitpid(-1, NULL, 0) \u003e\u003d 0)\n\t\t\t  ;\n\t\t  if (errno !\u003d ECHILD)\n\t\t\t  perror(\"waitpid\");\n\t\t  return 0;\n\t  }\n\n\t  /* new session, start a new session and set the controlling tty */\n\t  if (setsid() \u003c 0) {\n\t\t  perror(\"setsid\");\n\t\t  return 1;\n\t  }\n\n\t  fd \u003d open(argv[1], O_RDWR);\n\t  if (fd \u003c 0) {\n\t\t  perror(\"open\");\n\t\t  return 1;\n\t  }\n\n\t  if (ioctl(fd, TIOCSCTTY, 1) \u003c 0) {\n\t\t  perror(\"ioctl\");\n\t\t  return 1;\n\t  }\n\n\t  /* fork a child, sleep a bit and exit */\n\t  pid \u003d fork();\n\t  if (pid \u003c 0) {\n\t\t  perror(\"fork\");\n\t\t  return 1;\n\t  }\n\n\t  if (pid \u003e 0) {\n\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  printf(\"Session leader exiting\\n\");\n\t\t  exit(0);\n\t  }\n\n\t  /*\n\t   * The child ignores SIGHUP and keeps reading from the controlling\n\t   * tty.  Because SIGHUP is ignored, the child doesn\u0027t get killed on\n\t   * parent exit and the bug in n_tty makes the read(2) block the\n\t   * parent\u0027s control terminal hangup attempt.  The parent ends up in\n\t   * D sleep until the child is explicitly killed.\n\t   */\n\t  sigaction(SIGHUP, \u0026sact, NULL);\n\t  printf(\"Child reading tty\\n\");\n\t  while (1) {\n\t\t  char buf[1024];\n\n\t\t  if (read(fd, buf, sizeof(buf)) \u003c 0) {\n\t\t\t  perror(\"read\");\n\t\t\t  return 1;\n\t\t  }\n\t  }\n\n\t  return 0;\n  }\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Alan Cox \u003calan@llwyncelyn.cymru\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9c2c2e62df3fa30fb13fbeb7512a4eede729383b",
      "tree": "172262c56d18345b4e762f4361f75c5bcbadc483",
      "parents": [
        "1b22bcad7e397252ecc9a8c471334f70b46820fc"
      ],
      "author": {
        "name": "Andrew Lunn",
        "email": "andrew@lunn.ch",
        "time": "Tue Feb 27 01:56:06 2018 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 27 14:32:09 2018 -0500"
      },
      "message": "net: phy: Restore phy_resume() locking assumption\n\ncommit f5e64032a799 (\"net: phy: fix resume handling\") changes the\nlocking semantics for phy_resume() such that the caller now needs to\nhold the phy mutex. Not all call sites were adopted to this new\nsemantic, resulting in warnings from the added\nWARN_ON(!mutex_is_locked(\u0026phydev-\u003elock)).  Rather than change the\nsemantics, add a __phy_resume() and restore the old behavior of\nphy_resume().\n\nReported-by: Heiner Kallweit \u003chkallweit1@gmail.com\u003e\nFixes: f5e64032a799 (\"net: phy: fix resume handling\")\nSigned-off-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nReviewed-by: Florian Fainelli \u003cf.fainelli@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "230f5a8969d8345fc9bbe3683f068246cf1be4b8",
      "tree": "b6df1cb9d5379fd341c1d179ebae744e96df9ebb",
      "parents": [
        "9d4949b4935831be10534d5432bf611285a572a5"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Feb 21 17:08:01 2018 -0800"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Feb 26 12:32:42 2018 -0800"
      },
      "message": "dax: fix vma_is_fsdax() helper\n\nGerd reports that -\u003ei_mode may contain other bits besides S_IFCHR. Use\nS_ISCHR() instead. Otherwise, get_user_pages_longterm() may fail on\ndevice-dax instances when those are meant to be explicitly allowed.\n\nFixes: 2bb6d2837083 (\"mm: introduce get_user_pages_longterm\")\nCc: \u003cstable@vger.kernel.org\u003e\nReported-by: Gerd Rausch \u003cgerd.rausch@oracle.com\u003e\nAcked-by: Jane Chu \u003cjane.chu@oracle.com\u003e\nReported-by: Haozhong Zhang \u003chaozhong.zhang@intel.com\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "85a2d939c05965ab9e849735436a3c8d3538dc75",
      "tree": "ba5436dc3c687dc84b22536824b68ab413fc7c4a",
      "parents": [
        "d4858aaf6bd8a90e2dacc0dfec2077e334dcedbf",
        "946fbbc13dce68902f64515b610eeb2a6c3d7a64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 26 09:34:21 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 26 09:34:21 2018 -0800"
      },
      "message": "Merge branch \u0027x86-pti-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86 fixes from Thomas Gleixner:\n \"Yet another pile of melted spectrum related changes:\n\n   - sanitize the array_index_nospec protection mechanism: Remove the\n     overengineered array_index_nospec_mask_check() magic and allow\n     const-qualified types as index to avoid temporary storage in a\n     non-const local variable.\n\n   - make the microcode loader more robust by properly propagating error\n     codes. Provide information about new feature bits after micro code\n     was updated so administrators can act upon.\n\n   - optimizations of the entry ASM code which reduce code footprint and\n     make the code simpler and faster.\n\n   - fix the {pmd,pud}_{set,clear}_flags() implementations to work\n     properly on paravirt kernels by removing the address translation\n     operations.\n\n   - revert the harmful vmexit_fill_RSB() optimization\n\n   - use IBRS around firmware calls\n\n   - teach objtool about retpolines and add annotations for indirect\n     jumps and calls.\n\n   - explicitly disable jumplabel patching in __init code and handle\n     patching failures properly instead of silently ignoring them.\n\n   - remove indirect paravirt calls for writing the speculation control\n     MSR as these calls are obviously proving the same attack vector\n     which is tried to be mitigated.\n\n   - a few small fixes which address build issues with recent compiler\n     and assembler versions\"\n\n* \u0027x86-pti-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (38 commits)\n  KVM/VMX: Optimize vmx_vcpu_run() and svm_vcpu_run() by marking the RDMSR path as unlikely()\n  KVM/x86: Remove indirect MSR op calls from SPEC_CTRL\n  objtool, retpolines: Integrate objtool with retpoline support more closely\n  x86/entry/64: Simplify ENCODE_FRAME_POINTER\n  extable: Make init_kernel_text() global\n  jump_label: Warn on failed jump_label patching attempt\n  jump_label: Explicitly disable jump labels in __init code\n  x86/entry/64: Open-code switch_to_thread_stack()\n  x86/entry/64: Move ASM_CLAC to interrupt_entry()\n  x86/entry/64: Remove \u0027interrupt\u0027 macro\n  x86/entry/64: Move the switch_to_thread_stack() call to interrupt_entry()\n  x86/entry/64: Move ENTER_IRQ_STACK from interrupt macro to interrupt_entry\n  x86/entry/64: Move PUSH_AND_CLEAR_REGS from interrupt macro to helper function\n  x86/speculation: Move firmware_restrict_branch_speculation_*() from C to CPP\n  objtool: Add module specific retpoline rules\n  objtool: Add retpoline validation\n  objtool: Use existing global variables for options\n  x86/mm/sme, objtool: Annotate indirect call in sme_encrypt_execute()\n  x86/boot, objtool: Annotate indirect jump in secondary_startup_64()\n  x86/paravirt, objtool: Annotate indirect calls\n  ...\n"
    },
    {
      "commit": "d4858aaf6bd8a90e2dacc0dfec2077e334dcedbf",
      "tree": "ccb1934d3943fd7ed443f533409d02f4e2a5ad05",
      "parents": [
        "4a3928c6f8a53fa1aed28ccba227742486e8ddcb",
        "9c5e0afaf15788bcbd1c3469da701ac3da826886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 26 09:28:35 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 26 09:28:35 2018 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM fixes from Paolo Bonzini:\n \"s390:\n   - optimization for the exitless interrupt support that was merged in 4.16-rc1\n   - improve the branch prediction blocking for nested KVM\n   - replace some jump tables with switch statements to improve expoline performance\n   - fixes for multiple epoch facility\n\n  ARM:\n   - fix the interaction of userspace irqchip VMs with in-kernel irqchip VMs\n   - make sure we can build 32-bit KVM/ARM with gcc-8.\n\n  x86:\n   - fixes for AMD SEV\n   - fixes for Intel nested VMX, emulated UMIP and a dump_stack() on VM startup\n   - fixes for async page fault migration\n   - small optimization to PV TLB flush (new in 4.16-rc1)\n   - syzkaller fixes\n\n  Generic:\n   - compiler warning fixes\n   - syzkaller fixes\n   - more improvements to the kvm_stat tool\n\n  Two more small Spectre fixes are going to reach you via Ingo\"\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (40 commits)\n  KVM: SVM: Fix SEV LAUNCH_SECRET command\n  KVM: SVM: install RSM intercept\n  KVM: SVM: no need to call access_ok() in LAUNCH_MEASURE command\n  include: psp-sev: Capitalize invalid length enum\n  crypto: ccp: Fix sparse, use plain integer as NULL pointer\n  KVM: X86: Avoid traversing all the cpus for pv tlb flush when steal time is disabled\n  x86/kvm: Make parse_no_xxx __init for kvm\n  KVM: x86: fix backward migration with async_PF\n  kvm: fix warning for non-x86 builds\n  kvm: fix warning for CONFIG_HAVE_KVM_EVENTFD builds\n  tools/kvm_stat: print \u0027Total\u0027 line for multiple events only\n  tools/kvm_stat: group child events indented after parent\n  tools/kvm_stat: separate drilldown and fields filtering\n  tools/kvm_stat: eliminate extra guest/pid selection dialog\n  tools/kvm_stat: mark private methods as such\n  tools/kvm_stat: fix debugfs handling\n  tools/kvm_stat: print error on invalid regex\n  tools/kvm_stat: fix crash when filtering out all non-child trace events\n  tools/kvm_stat: avoid \u0027is\u0027 for equality checks\n  tools/kvm_stat: use a more pythonic way to iterate over dictionaries\n  ...\n"
    },
    {
      "commit": "56c0908c855afbb2bdda17c15d2879949a091ad3",
      "tree": "2129af80a6454ef5cb0c41a28137cd33092c20d0",
      "parents": [
        "897366537fb65e87755b822360c230354c3fc73b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Feb 26 13:01:41 2018 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Feb 26 09:48:42 2018 -0700"
      },
      "message": "genhd: Fix BUG in blkdev_open()\n\nWhen two blkdev_open() calls for a partition race with device removal\nand recreation, we can hit BUG_ON(!bd_may_claim(bdev, whole, holder)) in\nblkdev_open(). The race can happen as follows:\n\nCPU0\t\t\t\tCPU1\t\t\tCPU2\n\t\t\t\t\t\t\tdel_gendisk()\n\t\t\t\t\t\t\t  bdev_unhash_inode(part1);\n\nblkdev_open(part1, O_EXCL)\tblkdev_open(part1, O_EXCL)\n  bdev \u003d bd_acquire()\t\t  bdev \u003d bd_acquire()\n  blkdev_get(bdev)\n    bd_start_claiming(bdev)\n      - finds old inode \u0027whole\u0027\n      bd_prepare_to_claim() -\u003e 0\n\t\t\t\t\t\t\t  bdev_unhash_inode(whole);\n\t\t\t\t\t\t\t\u003cdevice removed\u003e\n\t\t\t\t\t\t\t\u003cnew device under same\n\t\t\t\t\t\t\t number created\u003e\n\t\t\t\t  blkdev_get(bdev);\n\t\t\t\t    bd_start_claiming(bdev)\n\t\t\t\t      - finds new inode \u0027whole\u0027\n\t\t\t\t      bd_prepare_to_claim()\n\t\t\t\t\t- this also succeeds as we have\n\t\t\t\t\t  different \u0027whole\u0027 here...\n\t\t\t\t\t- bad things happen now as we\n\t\t\t\t\t  have two exclusive openers of\n\t\t\t\t\t  the same bdev\n\nThe problem here is that block device opens can see various intermediate\nstates while gendisk is shutting down and then being recreated.\n\nWe fix the problem by introducing new lookup_sem in gendisk that\nsynchronizes gendisk deletion with get_gendisk() and furthermore by\nmaking sure that get_gendisk() does not return gendisk that is being (or\nhas been) deleted. This makes sure that once we ever manage to look up\nnewly created bdev inode, we are also guaranteed that following\nget_gendisk() will either return failure (and we fail open) or it\nreturns gendisk for the new device and following bdget_disk() will\nreturn new bdev inode (i.e., blkdev_open() follows the path as if it is\ncompletely run after new device is created).\n\nReported-and-analyzed-by: Hou Tao \u003choutao1@huawei.com\u003e\nTested-by: Hou Tao \u003choutao1@huawei.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "9df6c29912315186fef1c79cc15b758ace84175b",
      "tree": "f750cc3053a805b3e2d7b0caac7acd281a64b94a",
      "parents": [
        "3079c22ea815775837a4f389ce2f7e1e7b202e09"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Feb 26 13:01:39 2018 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Feb 26 09:48:42 2018 -0700"
      },
      "message": "genhd: Add helper put_disk_and_module()\n\nAdd a proper counterpart to get_disk_and_module() -\nput_disk_and_module(). Currently it is opencoded in several places.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "3079c22ea815775837a4f389ce2f7e1e7b202e09",
      "tree": "2210be59a22f091fcc79062255e64aa419c2d70c",
      "parents": [
        "d52987b524ccd2e2165ddad9bcc087a6c3f5332c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Feb 26 13:01:38 2018 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Mon Feb 26 09:48:42 2018 -0700"
      },
      "message": "genhd: Rename get_disk() to get_disk_and_module()\n\nRename get_disk() to get_disk_and_module() to make sure what the\nfunction does. It\u0027s not a great name but at least it is now clear that\nput_disk() is not it\u0027s counterpart.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "ba6056a41cb09575a5ffe2fcfa9a0afb1b60eb92",
      "tree": "e1858eb29573b86b6a42cbd3d6fbd18aa7b565bf",
      "parents": [
        "f74290fdb363665538743d14c4f00aeacdb68d87",
        "c53507778998d45543b27266742d04cd384de356"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 26 10:37:24 2018 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 26 10:37:24 2018 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next\n\nDaniel Borkmann says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npull-request: bpf-next 2018-02-26\n\nThe following pull-request contains BPF updates for your *net-next* tree.\n\nThe main changes are:\n\n1) Various improvements for BPF kselftests: i) skip unprivileged tests\n   when kernel.unprivileged_bpf_disabled sysctl knob is set, ii) count\n   the number of skipped tests from unprivileged, iii) when a test case\n   had an unexpected error then print the actual but also the unexpected\n   one for better comparison, from Joe.\n\n2) Add a sample program for collecting CPU state statistics with regards\n   to how long the CPU resides in cstate and pstate levels. Based on\n   cpu_idle and cpu_frequency trace points, from Leo.\n\n3) Various x64 BPF JIT optimizations to further shrink the generated\n   image size in order to make it more icache friendly. When tested on\n   the Cilium generated programs, image size reduced by approx 4-5% in\n   best case mainly due to how LLVM emits unsigned 32 bit constants,\n   from Daniel.\n\n4) Improvements and fixes on the BPF sockmap sample programs: i) fix\n   the sockmap\u0027s Makefile to include nlattr.o for libbpf, ii) detach\n   the sock ops programs from the cgroup before exit, from Prashant.\n\n5) Avoid including xdp.h in filter.h by just forward declaring the\n   struct xdp_rxq_info in filter.h, from Jesper.\n\n6) Fix the BPF kselftests Makefile for cgroup_helpers.c by only declaring\n   it a dependency for test_dev_cgroup.c but not every other test case\n   where it is not needed, from Jesper.\n\n7) Adjust rlimit RLIMIT_MEMLOCK for test_tcpbpf_user selftest since the\n   default is insufficient for creating the \u0027global_map\u0027 used in the\n   corresponding BPF program, from Yonghong.\n\n8) Likewise, for the xdp_redirect sample, Tushar ran into the same when\n   invoking xdp_redirect and xdp_monitor at the same time, therefore\n   in order to have the sample generically work bump the limit here,\n   too. Fix from Tushar.\n\n9) Avoid an unnecessary NULL check in BPF_CGROUP_RUN_PROG_INET_SOCK()\n   since sk is always guaranteed to be non-NULL, from Yafang.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c897096bbabaca1ad042a35cc1ef441d809ddc8",
      "tree": "97588a441878a6efe10711e059419316645e80b1",
      "parents": [
        "297ea1b7f717db660fa6eb543dc0af41f7bf8d57",
        "472e8c55cf6622d1c112dc2bc777f68bbd4189db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 25 16:29:59 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 25 16:29:59 2018 -0800"
      },
      "message": "Merge branch \u0027locking-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull locking fixes from Thomas Gleixner:\n \"Three patches to fix memory ordering issues on ALPHA and a comment to\n  clarify the usage scope of a mutex internal function\"\n\n* \u0027locking-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  locking/xchg/alpha: Fix xchg() and cmpxchg() memory ordering bugs\n  locking/xchg/alpha: Clean up barrier usage by using smp_mb() in place of __ASM__MB\n  locking/xchg/alpha: Add unconditional memory barrier to cmpxchg()\n  locking/mutex: Add comment to __mutex_owner() to deter usage\n"
    },
    {
      "commit": "f74290fdb363665538743d14c4f00aeacdb68d87",
      "tree": "a5c8f6332f06550e935d1e557ac927302f7f63c4",
      "parents": [
        "1b71af6053af1bd2f849e9fda4f71c1e3f145dcf",
        "9cb9c07d6b0c5fd97d83b8ab14d7e308ba4b612f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 24 00:04:20 2018 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 24 00:04:20 2018 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "f75e4924f0152be747bf04c9d16bb23fd8baf5f9",
      "tree": "6311fd74f5d2f8e05d5f6ec12a9d1b90ce8ecd8e",
      "parents": [
        "076467490b8176eb96eddc548a14d4135c7b5852"
      ],
      "author": {
        "name": "Sebastian Ott",
        "email": "sebott@linux.vnet.ibm.com",
        "time": "Thu Feb 22 13:04:39 2018 +0100"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sat Feb 24 01:43:47 2018 +0100"
      },
      "message": "kvm: fix warning for non-x86 builds\n\nFix the following sparse warning by moving the prototype\nof kvm_arch_mmu_notifier_invalidate_range() to linux/kvm_host.h .\n\n  CHECK   arch/s390/kvm/../../../virt/kvm/kvm_main.c\narch/s390/kvm/../../../virt/kvm/kvm_main.c:138:13: warning: symbol \u0027kvm_arch_mmu_notifier_invalidate_range\u0027 was not declared. Should it be static?\n\nSigned-off-by: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "076467490b8176eb96eddc548a14d4135c7b5852",
      "tree": "a476f5d2308d5265d3a97557b1d9b0d36696f6cd",
      "parents": [
        "6789af030a462708f937137e05eb12ea009fb348"
      ],
      "author": {
        "name": "Sebastian Ott",
        "email": "sebott@linux.vnet.ibm.com",
        "time": "Thu Feb 22 13:05:41 2018 +0100"
      },
      "committer": {
        "name": "Paolo Bonzini",
        "email": "pbonzini@redhat.com",
        "time": "Sat Feb 24 01:43:46 2018 +0100"
      },
      "message": "kvm: fix warning for CONFIG_HAVE_KVM_EVENTFD builds\n\nMove the kvm_arch_irq_routing_update() prototype outside of\nifdef CONFIG_HAVE_KVM_EVENTFD guards to fix the following sparse warning:\n\narch/s390/kvm/../../../virt/kvm/irqchip.c:171:28: warning: symbol \u0027kvm_arch_irq_routing_update\u0027 was not declared. Should it be static?\n\nSigned-off-by: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nAcked-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n"
    },
    {
      "commit": "65738c6b461a8bb0b056e024299738f7cc9a28b7",
      "tree": "8c614eeb2bb5d534bf45cc6d60f1d55f329f6ab1",
      "parents": [
        "2bd06ce77ce2ce4fd4a4b10cb03b977ee682b3dc",
        "9f416319f40cd857d2bb517630e5855a905ef3fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 23 15:01:01 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 23 15:01:01 2018 -0800"
      },
      "message": "Merge tag \u0027arm64-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux\n\nPull arm64 fixes from Catalin Marinas:\n \"arm64 and perf fixes:\n\n   - build error when accessing MPIDR_HWID_BITMASK from .S\n\n   - fix CTR_EL0 field definitions\n\n   - remove/disable some kernel messages on user faults (unhandled\n     signals, unimplemented syscalls)\n\n   - fix kernel page fault in unwind_frame() with function graph tracing\n\n   - fix perf sleeping while atomic errors when booting with ACPI\"\n\n* tag \u0027arm64-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:\n  arm64: fix unwind_frame() for filtered out fn for function graph tracing\n  arm64: Enforce BBM for huge IO/VMAP mappings\n  arm64: perf: correct PMUVer probing\n  arm_pmu: acpi: request IRQs up-front\n  arm_pmu: note IRQs and PMUs per-cpu\n  arm_pmu: explicitly enable/disable SPIs at hotplug\n  arm_pmu: acpi: check for mismatched PPIs\n  arm_pmu: add armpmu_alloc_atomic()\n  arm_pmu: fold platform helpers into platform code\n  arm_pmu: kill arm_pmu_platdata\n  ARM: ux500: remove PMU IRQ bouncer\n  arm64: __show_regs: Only resolve kernel symbols when running at EL1\n  arm64: Remove unimplemented syscall log message\n  arm64: Disable unhandled signal log messages by default\n  arm64: cpufeature: Fix CTR_EL0 field definitions\n  arm64: uaccess: Formalise types for access_ok()\n  arm64: Fix compilation error while accessing MPIDR_HWID_BITMASK from .S files\n"
    },
    {
      "commit": "5e65b02c00900155833008b7992bbbbc7f0df2ac",
      "tree": "bd29b97f351e3fe44ffde85f6e509c46b6e79845",
      "parents": [
        "f80be5436de78d0231cfb79b368edb9b90c3b057"
      ],
      "author": {
        "name": "Mark Bloch",
        "email": "markb@mellanox.com",
        "time": "Tue Jan 16 14:13:46 2018 +0000"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Fri Feb 23 12:36:38 2018 -0800"
      },
      "message": "net/mlx5: E-Switch, Add definition of IB representor\n\nCreate a new representor type: REP_IB. which will be initialized by an IB\ndevice that is used as a logical representor of a eswitch vport (VF or\nuplink) just like we have a net device today in switchdev mode.\n\nSigned-off-by: Mark Bloch \u003cmarkb@mellanox.com\u003e\nReviewed-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Leon Romanovsky \u003cleon@kernel.org\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "57cbd893c4c575a24594fa6c0835247506ce26e2",
      "tree": "6c3c525723a8da115fece1f09c0368197ebc5ed0",
      "parents": [
        "22215908d81f61d293e8b128e819a8437f37cc20"
      ],
      "author": {
        "name": "Mark Bloch",
        "email": "markb@mellanox.com",
        "time": "Tue Jan 16 14:04:14 2018 +0000"
      },
      "committer": {
        "name": "Saeed Mahameed",
        "email": "saeedm@mellanox.com",
        "time": "Fri Feb 23 12:36:38 2018 -0800"
      },
      "message": "net/mlx5: E-Switch, Move representors definition to a global scope\n\nIn preparation for IB representors, move representors structs to a global\nscope, also expose functions needed for registration, unregistration,\neswitch mode and creating a flow rule to direct traffic from SQs to the\nright VF.\n\nSigned-off-by: Mark Bloch \u003cmarkb@mellanox.com\u003e\nReviewed-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Leon Romanovsky \u003cleon@kernel.org\u003e\nSigned-off-by: Saeed Mahameed \u003csaeedm@mellanox.com\u003e\n"
    },
    {
      "commit": "8961ca441bde211bd4c620333bee615d806bcfcb",
      "tree": "23fb276e0921c7454876f2aebe4265a99d8f3dc6",
      "parents": [
        "0f9da844d87796ac31b04e81ee95e155e9043132",
        "b17800e9b7cb30e3a83d0b0ff4dc9872f0dad8c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 23 10:31:31 2018 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 23 10:31:31 2018 -0800"
      },
      "message": "Merge tag \u0027drm-fixes-for-v4.16-rc3\u0027 of git://people.freedesktop.org/~airlied/linux\n\nPull drm fixes from Dave Airlie:\n \"A bunch of fixes for rc3:\n\n  Exynos:\n   - fixes for using monotonic timestamps\n   - register definitions\n   - removal of unused file\n\n  ipu-v3L\n   - minor changes\n   - make some register arrays const+static\n   - fix some leaks\n\n  meson:\n   - fix for vsync\n\n  atomic:\n   - fix for memory leak\n\n  EDID parser:\n   - add quirks for some more non-desktop devices\n   - 6-bit panel fix.\n\n  drm_mm:\n   - fix a bug in the core drm mm hole handling\n\n  cirrus:\n   - fix lut loading regression\n\n  Lastly there is a deadlock fix around runtime suspend for secondary\n  GPUs.\n\n  There was a deadlock between one thread trying to wait for a workqueue\n  job to finish in the runtime suspend path, and the workqueue job it\n  was waiting for in turn waiting for a runtime_get_sync to return.\n\n  The fixes avoids it by not doing the runtime sync in the workqueue as\n  then we always wait for all those tasks to complete before we runtime\n  suspend\"\n\n* tag \u0027drm-fixes-for-v4.16-rc3\u0027 of git://people.freedesktop.org/~airlied/linux: (25 commits)\n  drm/tve200: fix kernel-doc documentation comment include\n  drm/edid: quirk Sony PlayStation VR headset as non-desktop\n  drm/edid: quirk Windows Mixed Reality headsets as non-desktop\n  drm/edid: quirk Oculus Rift headsets as non-desktop\n  drm/meson: fix vsync buffer update\n  drm: Handle unexpected holes in color-eviction\n  drm: exynos: Use proper macro definition for HDMI_I2S_PIN_SEL_1\n  drm/exynos: remove exynos_drm_rotator.h\n  drm/exynos: g2d: Delete an error message for a failed memory allocation in two functions\n  drm/exynos: fix comparison to bitshift when dealing with a mask\n  drm/exynos: g2d: use monotonic timestamps\n  drm/edid: Add 6 bpc quirk for CPT panel in Asus UX303LA\n  gpu: ipu-csi: add 10/12-bit grayscale support to mbus_code_to_bus_cfg\n  gpu: ipu-cpmem: add 16-bit grayscale support to ipu_cpmem_set_image\n  gpu: ipu-v3: prg: fix device node leak in ipu_prg_lookup_by_phandle\n  gpu: ipu-v3: pre: fix device node leak in ipu_pre_lookup_by_phandle\n  drm/amdgpu: Fix deadlock on runtime suspend\n  drm/radeon: Fix deadlock on runtime suspend\n  drm/nouveau: Fix deadlock on runtime suspend\n  drm: Allow determining if current task is output poll worker\n  ...\n"
    },
    {
      "commit": "ee07862f7b4594d390b978f6636a6a6191632ab3",
      "tree": "f72ef4109f87aad9951bf5d3641db327374ea071",
      "parents": [
        "0b6b8a3dd86db78c3f38587d667d77065c75e4f8"
      ],
      "author": {
        "name": "Yafang Shao",
        "email": "laoar.shao@gmail.com",
        "time": "Fri Feb 23 14:58:41 2018 +0800"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Fri Feb 23 16:23:11 2018 +0100"
      },
      "message": "bpf: NULL pointer check is not needed in BPF_CGROUP_RUN_PROG_INET_SOCK\n\nsk is already allocated in inet_create/inet6_create, hence when\nBPF_CGROUP_RUN_PROG_INET_SOCK is executed sk will never be NULL.\n\nThe logic is as bellow,\n\tsk \u003d sk_alloc();\n\tif (!sk)\n\t\tgoto out;\n\tBPF_CGROUP_RUN_PROG_INET_SOCK(sk);\n\nSigned-off-by: Yafang Shao \u003claoar.shao@gmail.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n"
    },
    {
      "commit": "60772e48ec417c5455ff04454b94fd68466f2c73",
      "tree": "7b80f73766fe73a7a03f3972144413efaeb87c2a",
      "parents": [
        "82e3be320d1e38a5e91a79d0eb451954c87ab7fe",
        "94ba92713f8329c96e0a8e2880b3c1a785d1c95c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 22 15:18:28 2018 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 22 15:18:28 2018 -0500"
      },
      "message": "Merge tag \u0027mac80211-next-for-davem-2018-02-22\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next\n\nJohannes Berg says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nVarious updates across wireless.\n\nOne thing to note: I\u0027ve included a new ethertype\nthat wireless uses (ETH_P_PREAUTH) in if_ether.h.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "a1f2ba04cc92414b6b933289365eab878b0b2bf4"
}
