commit 31767764c025981d818b09c004f6e357151a9ca3
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Jun 13 16:12:22 2018 +0200

    Linux 3.18.113

commit bc4225d642eb29daef01b1fda4e2f3c092ad781f
Author: Eric Dumazet <edumazet@google.com>
Date:   Tue Jun 5 09:25:19 2018 -0700

    rtnetlink: validate attributes in do_setlink()
    
    [ Upstream commit 644c7eebbfd59e72982d11ec6cc7d39af12450ae ]
    
    It seems that rtnl_group_changelink() can call do_setlink
    while a prior call to validate_linkmsg(dev = NULL, ...) could
    not validate IFLA_ADDRESS / IFLA_BROADCAST
    
    Make sure do_setlink() calls validate_linkmsg() instead
    of letting its callers having this responsibility.
    
    With help from Dmitry Vyukov, thanks a lot !
    
    BUG: KMSAN: uninit-value in is_valid_ether_addr include/linux/etherdevice.h:199 [inline]
    BUG: KMSAN: uninit-value in eth_prepare_mac_addr_change net/ethernet/eth.c:275 [inline]
    BUG: KMSAN: uninit-value in eth_mac_addr+0x203/0x2b0 net/ethernet/eth.c:308
    CPU: 1 PID: 8695 Comm: syz-executor3 Not tainted 4.17.0-rc5+ #103
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x185/0x1d0 lib/dump_stack.c:113
     kmsan_report+0x149/0x260 mm/kmsan/kmsan.c:1084
     __msan_warning_32+0x6e/0xc0 mm/kmsan/kmsan_instr.c:686
     is_valid_ether_addr include/linux/etherdevice.h:199 [inline]
     eth_prepare_mac_addr_change net/ethernet/eth.c:275 [inline]
     eth_mac_addr+0x203/0x2b0 net/ethernet/eth.c:308
     dev_set_mac_address+0x261/0x530 net/core/dev.c:7157
     do_setlink+0xbc3/0x5fc0 net/core/rtnetlink.c:2317
     rtnl_group_changelink net/core/rtnetlink.c:2824 [inline]
     rtnl_newlink+0x1fe9/0x37a0 net/core/rtnetlink.c:2976
     rtnetlink_rcv_msg+0xa32/0x1560 net/core/rtnetlink.c:4646
     netlink_rcv_skb+0x378/0x600 net/netlink/af_netlink.c:2448
     rtnetlink_rcv+0x50/0x60 net/core/rtnetlink.c:4664
     netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
     netlink_unicast+0x1678/0x1750 net/netlink/af_netlink.c:1336
     netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901
     sock_sendmsg_nosec net/socket.c:629 [inline]
     sock_sendmsg net/socket.c:639 [inline]
     ___sys_sendmsg+0xec0/0x1310 net/socket.c:2117
     __sys_sendmsg net/socket.c:2155 [inline]
     __do_sys_sendmsg net/socket.c:2164 [inline]
     __se_sys_sendmsg net/socket.c:2162 [inline]
     __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
     do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    RIP: 0033:0x455a09
    RSP: 002b:00007fc07480ec68 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
    RAX: ffffffffffffffda RBX: 00007fc07480f6d4 RCX: 0000000000455a09
    RDX: 0000000000000000 RSI: 00000000200003c0 RDI: 0000000000000014
    RBP: 000000000072bea0 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff
    R13: 00000000000005d0 R14: 00000000006fdc20 R15: 0000000000000000
    
    Uninit was stored to memory at:
     kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline]
     kmsan_save_stack mm/kmsan/kmsan.c:294 [inline]
     kmsan_internal_chain_origin+0x12b/0x210 mm/kmsan/kmsan.c:685
     kmsan_memcpy_origins+0x11d/0x170 mm/kmsan/kmsan.c:527
     __msan_memcpy+0x109/0x160 mm/kmsan/kmsan_instr.c:478
     do_setlink+0xb84/0x5fc0 net/core/rtnetlink.c:2315
     rtnl_group_changelink net/core/rtnetlink.c:2824 [inline]
     rtnl_newlink+0x1fe9/0x37a0 net/core/rtnetlink.c:2976
     rtnetlink_rcv_msg+0xa32/0x1560 net/core/rtnetlink.c:4646
     netlink_rcv_skb+0x378/0x600 net/netlink/af_netlink.c:2448
     rtnetlink_rcv+0x50/0x60 net/core/rtnetlink.c:4664
     netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
     netlink_unicast+0x1678/0x1750 net/netlink/af_netlink.c:1336
     netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901
     sock_sendmsg_nosec net/socket.c:629 [inline]
     sock_sendmsg net/socket.c:639 [inline]
     ___sys_sendmsg+0xec0/0x1310 net/socket.c:2117
     __sys_sendmsg net/socket.c:2155 [inline]
     __do_sys_sendmsg net/socket.c:2164 [inline]
     __se_sys_sendmsg net/socket.c:2162 [inline]
     __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
     do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    Uninit was created at:
     kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline]
     kmsan_internal_poison_shadow+0xb8/0x1b0 mm/kmsan/kmsan.c:189
     kmsan_kmalloc+0x94/0x100 mm/kmsan/kmsan.c:315
     kmsan_slab_alloc+0x10/0x20 mm/kmsan/kmsan.c:322
     slab_post_alloc_hook mm/slab.h:446 [inline]
     slab_alloc_node mm/slub.c:2753 [inline]
     __kmalloc_node_track_caller+0xb32/0x11b0 mm/slub.c:4395
     __kmalloc_reserve net/core/skbuff.c:138 [inline]
     __alloc_skb+0x2cb/0x9e0 net/core/skbuff.c:206
     alloc_skb include/linux/skbuff.h:988 [inline]
     netlink_alloc_large_skb net/netlink/af_netlink.c:1182 [inline]
     netlink_sendmsg+0x76e/0x1350 net/netlink/af_netlink.c:1876
     sock_sendmsg_nosec net/socket.c:629 [inline]
     sock_sendmsg net/socket.c:639 [inline]
     ___sys_sendmsg+0xec0/0x1310 net/socket.c:2117
     __sys_sendmsg net/socket.c:2155 [inline]
     __do_sys_sendmsg net/socket.c:2164 [inline]
     __se_sys_sendmsg net/socket.c:2162 [inline]
     __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
     do_syscall_64+0x152/0x230 arch/x86/entry/common.c:287
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    Fixes: e7ed828f10bd ("netlink: support setting devgroup parameters")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e384b14546b9fbd02954471bc75280e3b4f58412
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Mon Jun 4 17:46:01 2018 +0300

    team: use netdev_features_t instead of u32
    
    [ Upstream commit 25ea66544bfd1d9df1b7e1502f8717e85fa1e6e6 ]
    
    This code was introduced in 2011 around the same time that we made
    netdev_features_t a u64 type.  These days a u32 is not big enough to
    hold all the potential features.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dcd71a2323967ecdf48e52f40a6efe0bd384a2fb
Author: Jack Morgenstein <jackm@dev.mellanox.co.il>
Date:   Wed May 23 10:41:59 2018 +0300

    net/mlx4: Fix irq-unsafe spinlock usage
    
    [ Upstream commit d546b67cda015fb92bfee93d5dc0ceadb91deaee ]
    
    spin_lock/unlock was used instead of spin_un/lock_irq
    in a procedure used in process space, on a spinlock
    which can be grabbed in an interrupt.
    
    This caused the stack trace below to be displayed (on kernel
    4.17.0-rc1 compiled with Lock Debugging enabled):
    
    [  154.661474] WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected
    [  154.668909] 4.17.0-rc1-rdma_rc_mlx+ #3 Tainted: G          I
    [  154.675856] -----------------------------------------------------
    [  154.682706] modprobe/10159 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
    [  154.690254] 00000000f3b0e495 (&(&qp_table->lock)->rlock){+.+.}, at: mlx4_qp_remove+0x20/0x50 [mlx4_core]
    [  154.700927]
    and this task is already holding:
    [  154.707461] 0000000094373b5d (&(&cq->lock)->rlock/1){....}, at: destroy_qp_common+0x111/0x560 [mlx4_ib]
    [  154.718028] which would create a new lock dependency:
    [  154.723705]  (&(&cq->lock)->rlock/1){....} -> (&(&qp_table->lock)->rlock){+.+.}
    [  154.731922]
    but this new dependency connects a SOFTIRQ-irq-safe lock:
    [  154.740798]  (&(&cq->lock)->rlock){..-.}
    [  154.740800]
    ... which became SOFTIRQ-irq-safe at:
    [  154.752163]   _raw_spin_lock_irqsave+0x3e/0x50
    [  154.757163]   mlx4_ib_poll_cq+0x36/0x900 [mlx4_ib]
    [  154.762554]   ipoib_tx_poll+0x4a/0xf0 [ib_ipoib]
    ...
    to a SOFTIRQ-irq-unsafe lock:
    [  154.815603]  (&(&qp_table->lock)->rlock){+.+.}
    [  154.815604]
    ... which became SOFTIRQ-irq-unsafe at:
    [  154.827718] ...
    [  154.827720]   _raw_spin_lock+0x35/0x50
    [  154.833912]   mlx4_qp_lookup+0x1e/0x50 [mlx4_core]
    [  154.839302]   mlx4_flow_attach+0x3f/0x3d0 [mlx4_core]
    
    Since mlx4_qp_lookup() is called only in process space, we can
    simply replace the spin_un/lock calls with spin_un/lock_irq calls.
    
    Fixes: 6dc06c08bef1 ("net/mlx4: Fix the check in attaching steering rules")
    Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7f56a980db98be8b71c2d46d03d6d407f08aad91
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Thu May 31 11:18:29 2018 +0200

    net: usb: cdc_mbim: add flag FLAG_SEND_ZLP
    
    [ Upstream commit 9f7c728332e8966084242fcd951aa46583bc308c ]
    
    Testing Telit LM940 with ICMP packets > 14552 bytes revealed that
    the modem needs FLAG_SEND_ZLP to properly work, otherwise the cdc
    mbim data interface won't be anymore responsive.
    
    Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
    Acked-by: Bjørn Mork <bjorn@mork.no>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6c2d8d7adb6370496654e36ce05e84202fb27d70
Author: Eric Dumazet <edumazet@google.com>
Date:   Fri Jun 1 09:23:02 2018 -0700

    net/packet: refine check for priv area size
    
    [ Upstream commit eb73190f4fbeedf762394e92d6a4ec9ace684c88 ]
    
    syzbot was able to trick af_packet again [1]
    
    Various commits tried to address the problem in the past,
    but failed to take into account V3 header size.
    
    [1]
    
    tpacket_rcv: packet too big, clamped from 72 to 4294967224. macoff=96
    BUG: KASAN: use-after-free in prb_run_all_ft_ops net/packet/af_packet.c:1016 [inline]
    BUG: KASAN: use-after-free in prb_fill_curr_block.isra.59+0x4e5/0x5c0 net/packet/af_packet.c:1039
    Write of size 2 at addr ffff8801cb62000e by task kworker/1:2/2106
    
    CPU: 1 PID: 2106 Comm: kworker/1:2 Not tainted 4.17.0-rc7+ #77
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Workqueue: ipv6_addrconf addrconf_dad_work
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x1b9/0x294 lib/dump_stack.c:113
     print_address_description+0x6c/0x20b mm/kasan/report.c:256
     kasan_report_error mm/kasan/report.c:354 [inline]
     kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:412
     __asan_report_store2_noabort+0x17/0x20 mm/kasan/report.c:436
     prb_run_all_ft_ops net/packet/af_packet.c:1016 [inline]
     prb_fill_curr_block.isra.59+0x4e5/0x5c0 net/packet/af_packet.c:1039
     __packet_lookup_frame_in_block net/packet/af_packet.c:1094 [inline]
     packet_current_rx_frame net/packet/af_packet.c:1117 [inline]
     tpacket_rcv+0x1866/0x3340 net/packet/af_packet.c:2282
     dev_queue_xmit_nit+0x891/0xb90 net/core/dev.c:2018
     xmit_one net/core/dev.c:3049 [inline]
     dev_hard_start_xmit+0x16b/0xc10 net/core/dev.c:3069
     __dev_queue_xmit+0x2724/0x34c0 net/core/dev.c:3584
     dev_queue_xmit+0x17/0x20 net/core/dev.c:3617
     neigh_resolve_output+0x679/0xad0 net/core/neighbour.c:1358
     neigh_output include/net/neighbour.h:482 [inline]
     ip6_finish_output2+0xc9c/0x2810 net/ipv6/ip6_output.c:120
     ip6_finish_output+0x5fe/0xbc0 net/ipv6/ip6_output.c:154
     NF_HOOK_COND include/linux/netfilter.h:277 [inline]
     ip6_output+0x227/0x9b0 net/ipv6/ip6_output.c:171
     dst_output include/net/dst.h:444 [inline]
     NF_HOOK include/linux/netfilter.h:288 [inline]
     ndisc_send_skb+0x100d/0x1570 net/ipv6/ndisc.c:491
     ndisc_send_ns+0x3c1/0x8d0 net/ipv6/ndisc.c:633
     addrconf_dad_work+0xbef/0x1340 net/ipv6/addrconf.c:4033
     process_one_work+0xc1e/0x1b50 kernel/workqueue.c:2145
     worker_thread+0x1cc/0x1440 kernel/workqueue.c:2279
     kthread+0x345/0x410 kernel/kthread.c:240
     ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412
    
    The buggy address belongs to the page:
    page:ffffea00072d8800 count:0 mapcount:-127 mapping:0000000000000000 index:0xffff8801cb620e80
    flags: 0x2fffc0000000000()
    raw: 02fffc0000000000 0000000000000000 ffff8801cb620e80 00000000ffffff80
    raw: ffffea00072e3820 ffffea0007132d20 0000000000000002 0000000000000000
    page dumped because: kasan: bad access detected
    
    Memory state around the buggy address:
     ffff8801cb61ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     ffff8801cb61ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    >ffff8801cb620000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
                          ^
     ffff8801cb620080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
     ffff8801cb620100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    
    Fixes: 2b6867c2ce76 ("net/packet: fix overflow in check for priv area size")
    Fixes: dc808110bb62 ("packet: handle too big packets for PACKET_V3")
    Fixes: f6fb8f100b80 ("af-packet: TPACKET_V3 flexible buffer implementation.")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c9912b7d9eed3a381d265efbaf3ebd3b64fe4da9
Author: Wenwen Wang <wang6495@umn.edu>
Date:   Mon May 21 01:58:07 2018 -0500

    isdn: eicon: fix a missing-check bug
    
    [ Upstream commit 6009d1fe6ba3bb2dab55921da60465329cc1cd89 ]
    
    In divasmain.c, the function divas_write() firstly invokes the function
    diva_xdi_open_adapter() to open the adapter that matches with the adapter
    number provided by the user, and then invokes the function diva_xdi_write()
    to perform the write operation using the matched adapter. The two functions
    diva_xdi_open_adapter() and diva_xdi_write() are located in diva.c.
    
    In diva_xdi_open_adapter(), the user command is copied to the object 'msg'
    from the userspace pointer 'src' through the function pointer 'cp_fn',
    which eventually calls copy_from_user() to do the copy. Then, the adapter
    number 'msg.adapter' is used to find out a matched adapter from the
    'adapter_queue'. A matched adapter will be returned if it is found.
    Otherwise, NULL is returned to indicate the failure of the verification on
    the adapter number.
    
    As mentioned above, if a matched adapter is returned, the function
    diva_xdi_write() is invoked to perform the write operation. In this
    function, the user command is copied once again from the userspace pointer
    'src', which is the same as the 'src' pointer in diva_xdi_open_adapter() as
    both of them are from the 'buf' pointer in divas_write(). Similarly, the
    copy is achieved through the function pointer 'cp_fn', which finally calls
    copy_from_user(). After the successful copy, the corresponding command
    processing handler of the matched adapter is invoked to perform the write
    operation.
    
    It is obvious that there are two copies here from userspace, one is in
    diva_xdi_open_adapter(), and one is in diva_xdi_write(). Plus, both of
    these two copies share the same source userspace pointer, i.e., the 'buf'
    pointer in divas_write(). Given that a malicious userspace process can race
    to change the content pointed by the 'buf' pointer, this can pose potential
    security issues. For example, in the first copy, the user provides a valid
    adapter number to pass the verification process and a valid adapter can be
    found. Then the user can modify the adapter number to an invalid number.
    This way, the user can bypass the verification process of the adapter
    number and inject inconsistent data.
    
    This patch reuses the data copied in
    diva_xdi_open_adapter() and passes it to diva_xdi_write(). This way, the
    above issues can be avoided.
    
    Signed-off-by: Wenwen Wang <wang6495@umn.edu>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8c79f7300031e24f849bd7f54515ae67bd05b3e1
Author: Sabrina Dubroca <sd@queasysnail.net>
Date:   Tue Jun 5 15:01:59 2018 +0200

    ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds
    
    [ Upstream commit 848235edb5c93ed086700584c8ff64f6d7fc778d ]
    
    Currently, raw6_sk(sk)->ip6mr_table is set unconditionally during
    ip6_mroute_setsockopt(MRT6_TABLE). A subsequent attempt at the same
    setsockopt will fail with -ENOENT, since we haven't actually created
    that table.
    
    A similar fix for ipv4 was included in commit 5e1859fbcc3c ("ipv4: ipmr:
    various fixes and cleanups").
    
    Fixes: d1db275dd3f6 ("ipv6: ip6mr: support multiple tables")
    Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 843e5ed69e0dc373729699639a0d125e6e91ea0e
Author: Govindarajulu Varadarajan <gvaradar@cisco.com>
Date:   Wed May 23 11:17:39 2018 -0700

    enic: set DMA mask to 47 bit
    
    [ Upstream commit 322eaa06d55ebc1402a4a8d140945cff536638b4 ]
    
    In commit 624dbf55a359b ("driver/net: enic: Try DMA 64 first, then
    failover to DMA") DMA mask was changed from 40 bits to 64 bits.
    Hardware actually supports only 47 bits.
    
    Fixes: 624dbf55a359b ("driver/net: enic: Try DMA 64 first, then failover to DMA")
    Signed-off-by: Govindarajulu Varadarajan <gvaradar@cisco.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 19775c9291dd6a33a00cd0b353b5cbf0a6027450
Author: Alexey Kodanev <alexey.kodanev@oracle.com>
Date:   Mon May 21 19:28:44 2018 +0300

    dccp: don't free ccid2_hc_tx_sock struct in dccp_disconnect()
    
    [ Upstream commit 2677d20677314101293e6da0094ede7b5526d2b1 ]
    
    Syzbot reported the use-after-free in timer_is_static_object() [1].
    
    This can happen because the structure for the rto timer (ccid2_hc_tx_sock)
    is removed in dccp_disconnect(), and ccid2_hc_tx_rto_expire() can be
    called after that.
    
    The report [1] is similar to the one in commit 120e9dabaf55 ("dccp:
    defer ccid_hc_tx_delete() at dismantle time"). And the fix is the same,
    delay freeing ccid2_hc_tx_sock structure, so that it is freed in
    dccp_sk_destruct().
    
    [1]
    
    ==================================================================
    BUG: KASAN: use-after-free in timer_is_static_object+0x80/0x90
    kernel/time/timer.c:607
    Read of size 8 at addr ffff8801bebb5118 by task syz-executor2/25299
    
    CPU: 1 PID: 25299 Comm: syz-executor2 Not tainted 4.17.0-rc5+ #54
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
    Google 01/01/2011
    Call Trace:
      <IRQ>
      __dump_stack lib/dump_stack.c:77 [inline]
      dump_stack+0x1b9/0x294 lib/dump_stack.c:113
      print_address_description+0x6c/0x20b mm/kasan/report.c:256
      kasan_report_error mm/kasan/report.c:354 [inline]
      kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:412
      __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433
      timer_is_static_object+0x80/0x90 kernel/time/timer.c:607
      debug_object_activate+0x2d9/0x670 lib/debugobjects.c:508
      debug_timer_activate kernel/time/timer.c:709 [inline]
      debug_activate kernel/time/timer.c:764 [inline]
      __mod_timer kernel/time/timer.c:1041 [inline]
      mod_timer+0x4d3/0x13b0 kernel/time/timer.c:1102
      sk_reset_timer+0x22/0x60 net/core/sock.c:2742
      ccid2_hc_tx_rto_expire+0x587/0x680 net/dccp/ccids/ccid2.c:147
      call_timer_fn+0x230/0x940 kernel/time/timer.c:1326
      expire_timers kernel/time/timer.c:1363 [inline]
      __run_timers+0x79e/0xc50 kernel/time/timer.c:1666
      run_timer_softirq+0x4c/0x70 kernel/time/timer.c:1692
      __do_softirq+0x2e0/0xaf5 kernel/softirq.c:285
      invoke_softirq kernel/softirq.c:365 [inline]
      irq_exit+0x1d1/0x200 kernel/softirq.c:405
      exiting_irq arch/x86/include/asm/apic.h:525 [inline]
      smp_apic_timer_interrupt+0x17e/0x710 arch/x86/kernel/apic/apic.c:1052
      apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:863
      </IRQ>
    ...
    Allocated by task 25374:
      save_stack+0x43/0xd0 mm/kasan/kasan.c:448
      set_track mm/kasan/kasan.c:460 [inline]
      kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:553
      kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:490
      kmem_cache_alloc+0x12e/0x760 mm/slab.c:3554
      ccid_new+0x25b/0x3e0 net/dccp/ccid.c:151
      dccp_hdlr_ccid+0x27/0x150 net/dccp/feat.c:44
      __dccp_feat_activate+0x184/0x270 net/dccp/feat.c:344
      dccp_feat_activate_values+0x3a7/0x819 net/dccp/feat.c:1538
      dccp_create_openreq_child+0x472/0x610 net/dccp/minisocks.c:128
      dccp_v4_request_recv_sock+0x12c/0xca0 net/dccp/ipv4.c:408
      dccp_v6_request_recv_sock+0x125d/0x1f10 net/dccp/ipv6.c:415
      dccp_check_req+0x455/0x6a0 net/dccp/minisocks.c:197
      dccp_v4_rcv+0x7b8/0x1f3f net/dccp/ipv4.c:841
      ip_local_deliver_finish+0x2e3/0xd80 net/ipv4/ip_input.c:215
      NF_HOOK include/linux/netfilter.h:288 [inline]
      ip_local_deliver+0x1e1/0x720 net/ipv4/ip_input.c:256
      dst_input include/net/dst.h:450 [inline]
      ip_rcv_finish+0x81b/0x2200 net/ipv4/ip_input.c:396
      NF_HOOK include/linux/netfilter.h:288 [inline]
      ip_rcv+0xb70/0x143d net/ipv4/ip_input.c:492
      __netif_receive_skb_core+0x26f5/0x3630 net/core/dev.c:4592
      __netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4657
      process_backlog+0x219/0x760 net/core/dev.c:5337
      napi_poll net/core/dev.c:5735 [inline]
      net_rx_action+0x7b7/0x1930 net/core/dev.c:5801
      __do_softirq+0x2e0/0xaf5 kernel/softirq.c:285
    
    Freed by task 25374:
      save_stack+0x43/0xd0 mm/kasan/kasan.c:448
      set_track mm/kasan/kasan.c:460 [inline]
      __kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:521
      kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528
      __cache_free mm/slab.c:3498 [inline]
      kmem_cache_free+0x86/0x2d0 mm/slab.c:3756
      ccid_hc_tx_delete+0xc3/0x100 net/dccp/ccid.c:190
      dccp_disconnect+0x130/0xc66 net/dccp/proto.c:286
      dccp_close+0x3bc/0xe60 net/dccp/proto.c:1045
      inet_release+0x104/0x1f0 net/ipv4/af_inet.c:427
      inet6_release+0x50/0x70 net/ipv6/af_inet6.c:460
      sock_release+0x96/0x1b0 net/socket.c:594
      sock_close+0x16/0x20 net/socket.c:1149
      __fput+0x34d/0x890 fs/file_table.c:209
      ____fput+0x15/0x20 fs/file_table.c:243
      task_work_run+0x1e4/0x290 kernel/task_work.c:113
      tracehook_notify_resume include/linux/tracehook.h:191 [inline]
      exit_to_usermode_loop+0x2bd/0x310 arch/x86/entry/common.c:166
      prepare_exit_to_usermode arch/x86/entry/common.c:196 [inline]
      syscall_return_slowpath arch/x86/entry/common.c:265 [inline]
      do_syscall_64+0x6ac/0x800 arch/x86/entry/common.c:290
      entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    The buggy address belongs to the object at ffff8801bebb4cc0
      which belongs to the cache ccid2_hc_tx_sock of size 1240
    The buggy address is located 1112 bytes inside of
      1240-byte region [ffff8801bebb4cc0, ffff8801bebb5198)
    The buggy address belongs to the page:
    page:ffffea0006faed00 count:1 mapcount:0 mapping:ffff8801bebb41c0
    index:0xffff8801bebb5240 compound_mapcount: 0
    flags: 0x2fffc0000008100(slab|head)
    raw: 02fffc0000008100 ffff8801bebb41c0 ffff8801bebb5240 0000000100000003
    raw: ffff8801cdba3138 ffffea0007634120 ffff8801cdbaab40 0000000000000000
    page dumped because: kasan: bad access detected
    ...
    ==================================================================
    
    Reported-by: syzbot+5d47e9ec91a6f15dbd6f@syzkaller.appspotmail.com
    Signed-off-by: Alexey Kodanev <alexey.kodanev@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fde5217c8c38469fddb285486b1f93d8994587c5
Author: Julia Lawall <Julia.Lawall@lip6.fr>
Date:   Wed Jun 6 15:03:22 2018 +0200

    bnx2x: use the right constant
    
    [ Upstream commit dd612f18a49b63af8b3a5f572d999bdb197385bc ]
    
    Nearby code that also tests port suggests that the P0 constant should be
    used when port is zero.
    
    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @@
    expression e,e1;
    @@
    
    * e ? e1 : e1
    // </smpl>
    
    Fixes: 6c3218c6f7e5 ("bnx2x: Adjust ETS to 578xx")
    Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1a16822592fe2bdb3a14a8c8f0029ef07a40f053
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue May 15 13:38:15 2018 +1000

    drm: set FMODE_UNSIGNED_OFFSET for drm files
    
    commit 76ef6b28ea4f81c3d511866a9b31392caa833126 upstream.
    
    Since we have the ttm and gem vma managers using a subset
    of the file address space for objects, and these start at
    0x100000000 they will overflow the new mmap checks.
    
    I've checked all the mmap routines I could see for any
    bad behaviour but overall most people use GEM/TTM VMA
    managers even the legacy drivers have a hashtable.
    
    Reported-and-Tested-by: Arthur Marsh (amarsh04 on #radeon)
    Fixes: be83bbf8068 (mmap: introduce sane default mmap limits)
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3bbdc2a45ad86e0f82e5d73c1f28d0e60901d3c5
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat May 19 09:29:11 2018 -0700

    mmap: relax file size limit for regular files
    
    commit 423913ad4ae5b3e8fb8983f70969fb522261ba26 upstream.
    
    Commit be83bbf80682 ("mmap: introduce sane default mmap limits") was
    introduced to catch problems in various ad-hoc character device drivers
    doing mmap and getting the size limits wrong.  In the process, it used
    "known good" limits for the normal cases of mapping regular files and
    block device drivers.
    
    It turns out that the "s_maxbytes" limit was less "known good" than I
    thought.  In particular, /proc doesn't set it, but exposes one regular
    file to mmap: /proc/vmcore.  As a result, that file got limited to the
    default MAX_INT s_maxbytes value.
    
    This went unnoticed for a while, because apparently the only thing that
    needs it is the s390 kernel zfcpdump, but there might be other tools
    that use this too.
    
    Vasily suggested just changing s_maxbytes for all of /proc, which isn't
    wrong, but makes me nervous at this stage.  So instead, just make the
    new mmap limit always be MAX_LFS_FILESIZE for regular files, which won't
    affect anything else.  It wasn't the regular file case I was worried
    about.
    
    I'd really prefer for maxsize to have been per-inode, but that is not
    how things are today.
    
    Fixes: be83bbf80682 ("mmap: introduce sane default mmap limits")
    Reported-by: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bf3ff108832e28b7ca8df5a02e2a03ced29cd31e
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Fri May 11 09:52:01 2018 -0700

    mmap: introduce sane default mmap limits
    
    commit be83bbf806822b1b89e0a0f23cd87cddc409e429 upstream.
    
    The internal VM "mmap()" interfaces are based on the mmap target doing
    everything using page indexes rather than byte offsets, because
    traditionally (ie 32-bit) we had the situation that the byte offset
    didn't fit in a register.  So while the mmap virtual address was limited
    by the word size of the architecture, the backing store was not.
    
    So we're basically passing "pgoff" around as a page index, in order to
    be able to describe backing store locations that are much bigger than
    the word size (think files larger than 4GB etc).
    
    But while this all makes a ton of sense conceptually, we've been dogged
    by various drivers that don't really understand this, and internally
    work with byte offsets, and then try to work with the page index by
    turning it into a byte offset with "pgoff << PAGE_SHIFT".
    
    Which obviously can overflow.
    
    Adding the size of the mapping to it to get the byte offset of the end
    of the backing store just exacerbates the problem, and if you then use
    this overflow-prone value to check various limits of your device driver
    mmap capability, you're just setting yourself up for problems.
    
    The correct thing for drivers to do is to do their limit math in page
    indices, the way the interface is designed.  Because the generic mmap
    code _does_ test that the index doesn't overflow, since that's what the
    mmap code really cares about.
    
    HOWEVER.
    
    Finding and fixing various random drivers is a sisyphean task, so let's
    just see if we can just make the core mmap() code do the limiting for
    us.  Realistically, the only "big" backing stores we need to care about
    are regular files and block devices, both of which are known to do this
    properly, and which have nice well-defined limits for how much data they
    can access.
    
    So let's special-case just those two known cases, and then limit other
    random mmap users to a backing store that still fits in "unsigned long".
    Realistically, that's not much of a limit at all on 64-bit, and on
    32-bit architectures the only worry might be the GPU drivers, which can
    have big physical address spaces.
    
    To make it possible for drivers like that to say that they are 64-bit
    clean, this patch does repurpose the "FMODE_UNSIGNED_OFFSET" bit in the
    file flags to allow drivers to mark their file descriptors as safe in
    the full 64-bit mmap address space.
    
    [ The timing for doing this is less than optimal, and this should really
      go in a merge window. But realistically, this needs wide testing more
      than it needs anything else, and being main-line is the only way to do
      that.
    
      So the earlier the better, even if it's outside the proper development
      cycle        - Linus ]
    
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Willy Tarreau <w@1wt.eu>
    Cc: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6d64aecd1ac3bd4c843bd04f732d3c372cd73da7
Author: Hugh Dickins <hughd@google.com>
Date:   Fri Jun 1 16:50:50 2018 -0700

    mm: fix the NULL mapping case in __isolate_lru_page()
    
    commit 145e1a71e090575c74969e3daa8136d1e5b99fc8 upstream.
    
    George Boole would have noticed a slight error in 4.16 commit
    69d763fc6d3a ("mm: pin address_space before dereferencing it while
    isolating an LRU page").  Fix it, to match both the comment above it,
    and the original behaviour.
    
    Although anonymous pages are not marked PageDirty at first, we have an
    old habit of calling SetPageDirty when a page is removed from swap
    cache: so there's a category of ex-swap pages that are easily
    migratable, but were inadvertently excluded from compaction's async
    migration in 4.16.
    
    Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1805302014001.12558@eggly.anvils
    Fixes: 69d763fc6d3a ("mm: pin address_space before dereferencing it while isolating an LRU page")
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Acked-by: Minchan Kim <minchan@kernel.org>
    Acked-by: Mel Gorman <mgorman@techsingularity.net>
    Reported-by:  Ivan Kalvachev <ikalvachev@gmail.com>
    Cc: "Huang, Ying" <ying.huang@intel.com>
    Cc: Jan Kara <jack@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 43e631b78eb132f56d22e338ab48d925cc1450a6
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Wed May 23 22:53:22 2018 -0400

    fix io_destroy()/aio_complete() race
    
    commit 4faa99965e027cc057c5145ce45fa772caa04e8d upstream.
    
    If io_destroy() gets to cancelling everything that can be cancelled and
    gets to kiocb_cancel() calling the function driver has left in ->ki_cancel,
    it becomes vulnerable to a race with IO completion.  At that point req
    is already taken off the list and aio_complete() does *NOT* spin until
    we (in free_ioctx_users()) releases ->ctx_lock.  As the result, it proceeds
    to kiocb_free(), freing req just it gets passed to ->ki_cancel().
    
    Fix is simple - remove from the list after the call of kiocb_cancel().  All
    instances of ->ki_cancel() already have to cope with the being called with
    iocb still on list - that's what happens in io_cancel(2).
    
    Cc: stable@kernel.org
    Fixes: 0460fef2a921 "aio: use cancellation list lazily"
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d4dd8e5bb708f65f919802b7a5a9102a9457c876
Author: Ondrej Zary <linux@rainbow-software.org>
Date:   Fri Mar 9 23:22:04 2018 +0100

    drm/i915: Disable LVDS on Radiant P845
    
    commit b3fb22733ae61050f8d10a1d6a8af176c5c5db1a upstream.
    
    Radiant P845 does not have LVDS, only VGA.
    
    Cc: stable@vger.kernel.org
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105468
    Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180309222204.4771-1-linux@rainbow-software.org
    (cherry picked from commit 7f7105f99b75aca4f8c2a748ed6b82c7f8be3293)
    Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 38de6fffc79afb12c33f6ebe18fda85c26fc6965
Author: Maciej W. Rozycki <macro@mips.com>
Date:   Wed May 16 16:39:58 2018 +0100

    MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs
    
    commit c7e814628df65f424fe197dde73bfc67e4a244d7 upstream.
    
    Use 64-bit accesses for 64-bit floating-point general registers with
    PTRACE_PEEKUSR, removing the truncation of their upper halves in the
    FR=1 mode, caused by commit bbd426f542cb ("MIPS: Simplify FP context
    access"), which inadvertently switched them to using 32-bit accesses.
    
    The PTRACE_POKEUSR side is fine as it's never been broken and continues
    using 64-bit accesses.
    
    Fixes: bbd426f542cb ("MIPS: Simplify FP context access")
    Signed-off-by: Maciej W. Rozycki <macro@mips.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Cc: <stable@vger.kernel.org> # 3.15+
    Patchwork: https://patchwork.linux-mips.org/patch/19334/
    Signed-off-by: James Hogan <jhogan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c78305763b140a426d74c8e937a96ecc76cfd15e
Author: Eric Dumazet <edumazet@google.com>
Date:   Sun Dec 10 17:55:03 2017 -0800

    tcp: avoid integer overflows in tcp_rcv_space_adjust()
    
    commit 607065bad9931e72207b0cac365d7d4abc06bd99 upstream.
    
    When using large tcp_rmem[2] values (I did tests with 500 MB),
    I noticed overflows while computing rcvwin.
    
    Lets fix this before the following patch.
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
    Acked-by: Wei Wang <weiwan@google.com>
    Acked-by: Neal Cardwell <ncardwell@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    [Backport: sysctl_tcp_rmem is not Namespace-ify'd in older kernels]
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4ff12f87c37257ac68b5bfa676409c7b35529168
Author: Eric Biggers <ebiggers@google.com>
Date:   Mon May 14 20:09:24 2018 -0700

    cfg80211: further limit wiphy names to 64 bytes
    
    commit 814596495dd2b9d4aab92d8f89cf19060d25d2ea upstream.
    
    wiphy names were recently limited to 128 bytes by commit a7cfebcb7594
    ("cfg80211: limit wiphy names to 128 bytes").  As it turns out though,
    this isn't sufficient because dev_vprintk_emit() needs the syslog header
    string "SUBSYSTEM=ieee80211\0DEVICE=+ieee80211:$devname" to fit into 128
    bytes.  This triggered the "device/subsystem name too long" WARN when
    the device name was >= 90 bytes.  As before, this was reproduced by
    syzbot by sending an HWSIM_CMD_NEW_RADIO command to the MAC80211_HWSIM
    generic netlink family.
    
    Fix it by further limiting wiphy names to 64 bytes.
    
    Reported-by: syzbot+e64565577af34b3768dc@syzkaller.appspotmail.com
    Fixes: a7cfebcb7594 ("cfg80211: limit wiphy names to 128 bytes")
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b1ebe5e9a3744a00f9a3ffdc74b4d996c9deba28
Author: Sachin Grover <sgrover@codeaurora.org>
Date:   Fri May 25 14:01:39 2018 +0530

    selinux: KASAN: slab-out-of-bounds in xattr_getsecurity
    
    commit efe3de79e0b52ca281ef6691480c8c68c82a4657 upstream.
    
    Call trace:
     [<ffffff9203a8d7a8>] dump_backtrace+0x0/0x428
     [<ffffff9203a8dbf8>] show_stack+0x28/0x38
     [<ffffff920409bfb8>] dump_stack+0xd4/0x124
     [<ffffff9203d187e8>] print_address_description+0x68/0x258
     [<ffffff9203d18c00>] kasan_report.part.2+0x228/0x2f0
     [<ffffff9203d1927c>] kasan_report+0x5c/0x70
     [<ffffff9203d1776c>] check_memory_region+0x12c/0x1c0
     [<ffffff9203d17cdc>] memcpy+0x34/0x68
     [<ffffff9203d75348>] xattr_getsecurity+0xe0/0x160
     [<ffffff9203d75490>] vfs_getxattr+0xc8/0x120
     [<ffffff9203d75d68>] getxattr+0x100/0x2c8
     [<ffffff9203d76fb4>] SyS_fgetxattr+0x64/0xa0
     [<ffffff9203a83f70>] el0_svc_naked+0x24/0x28
    
    If user get root access and calls security.selinux setxattr() with an
    embedded NUL on a file and then if some process performs a getxattr()
    on that file with a length greater than the actual length of the string,
    it would result in a panic.
    
    To fix this, add the actual length of the string to the security context
    instead of the length passed by the userspace process.
    
    Signed-off-by: Sachin Grover <sgrover@codeaurora.org>
    Cc: stable@vger.kernel.org
    Signed-off-by: Paul Moore <paul@paul-moore.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7ca1225a55481a62fe9739c2d88837570d1201f1
Author: Steven Rostedt (VMware) <rostedt@goodmis.org>
Date:   Sun May 27 20:54:44 2018 -0400

    tracing: Fix crash when freeing instances with event triggers
    
    commit 86b389ff22bd6ad8fd3cb98e41cd271886c6d023 upstream.
    
    If a instance has an event trigger enabled when it is freed, it could cause
    an access of free memory. Here's the case that crashes:
    
     # cd /sys/kernel/tracing
     # mkdir instances/foo
     # echo snapshot > instances/foo/events/initcall/initcall_start/trigger
     # rmdir instances/foo
    
    Would produce:
    
     general protection fault: 0000 [#1] PREEMPT SMP PTI
     Modules linked in: tun bridge ...
     CPU: 5 PID: 6203 Comm: rmdir Tainted: G        W         4.17.0-rc4-test+ #933
     Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01 v03.03 07/14/2016
     RIP: 0010:clear_event_triggers+0x3b/0x70
     RSP: 0018:ffffc90003783de0 EFLAGS: 00010286
     RAX: 0000000000000000 RBX: 6b6b6b6b6b6b6b2b RCX: 0000000000000000
     RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8800c7130ba0
     RBP: ffffc90003783e00 R08: ffff8801131993f8 R09: 0000000100230016
     R10: ffffc90003783d80 R11: 0000000000000000 R12: ffff8800c7130ba0
     R13: ffff8800c7130bd8 R14: ffff8800cc093768 R15: 00000000ffffff9c
     FS:  00007f6f4aa86700(0000) GS:ffff88011eb40000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 00007f6f4a5aed60 CR3: 00000000cd552001 CR4: 00000000001606e0
     Call Trace:
      event_trace_del_tracer+0x2a/0xc5
      instance_rmdir+0x15c/0x200
      tracefs_syscall_rmdir+0x52/0x90
      vfs_rmdir+0xdb/0x160
      do_rmdir+0x16d/0x1c0
      __x64_sys_rmdir+0x17/0x20
      do_syscall_64+0x55/0x1a0
      entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    This was due to the call the clears out the triggers when an instance is
    being deleted not removing the trigger from the link list.
    
    Cc: stable@vger.kernel.org
    Fixes: 85f2b08268c01 ("tracing: Add basic event trigger framework")
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>