commit 7612025fbc7a5ab54bf71f48b99b0b6a15fc7b06
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sun Jul 22 13:43:26 2018 +0200

    Linux 3.18.116

commit 2384b0c003ef849231b4f26c22d319cbb6b29370
Author: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Date:   Wed Jul 18 18:57:27 2018 +0900

    net/nfc: Avoid stalls when nfc_alloc_send_skb() returned NULL.
    
    commit 3bc53be9db21040b5d2de4d455f023c8c494aa68 upstream.
    
    syzbot is reporting stalls at nfc_llcp_send_ui_frame() [1]. This is
    because nfc_llcp_send_ui_frame() is retrying the loop without any delay
    when nonblocking nfc_alloc_send_skb() returned NULL.
    
    Since there is no need to use MSG_DONTWAIT if we retry until
    sock_alloc_send_pskb() succeeds, let's use blocking call.
    Also, in case an unexpected error occurred, let's break the loop
    if blocking nfc_alloc_send_skb() failed.
    
    [1] https://syzkaller.appspot.com/bug?id=4a131cc571c3733e0eff6bc673f4e36ae48f19c6
    
    Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Reported-by: syzbot <syzbot+d29d18215e477cfbfbdd@syzkaller.appspotmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 143b72d69965034b247d0b18a09476c0330d8cbc
Author: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Date:   Thu Jun 14 11:52:34 2018 -0700

    rds: avoid unenecessary cong_update in loop transport
    
    commit f1693c63ab133d16994cc50f773982b5905af264 upstream.
    
    Loop transport which is self loopback, remote port congestion
    update isn't relevant. Infact the xmit path already ignores it.
    Receive path needs to do the same.
    
    Reported-by: syzbot+4c20b3866171ce8441d2@syzkaller.appspotmail.com
    Reviewed-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
    Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 76432817fe499ae6789a9fecd88181b4cf8c96d9
Author: Eric Biggers <ebiggers@google.com>
Date:   Wed Jul 11 10:46:29 2018 -0700

    KEYS: DNS: fix parsing multiple options
    
    commit c604cb767049b78b3075497b80ebb8fd530ea2cc upstream.
    
    My recent fix for dns_resolver_preparse() printing very long strings was
    incomplete, as shown by syzbot which still managed to hit the
    WARN_ONCE() in set_precision() by adding a crafted "dns_resolver" key:
    
        precision 50001 too large
        WARNING: CPU: 7 PID: 864 at lib/vsprintf.c:2164 vsnprintf+0x48a/0x5a0
    
    The bug this time isn't just a printing bug, but also a logical error
    when multiple options ("#"-separated strings) are given in the key
    payload.  Specifically, when separating an option string into name and
    value, if there is no value then the name is incorrectly considered to
    end at the end of the key payload, rather than the end of the current
    option.  This bypasses validation of the option length, and also means
    that specifying multiple options is broken -- which presumably has gone
    unnoticed as there is currently only one valid option anyway.
    
    A similar problem also applied to option values, as the kstrtoul() when
    parsing the "dnserror" option will read past the end of the current
    option and into the next option.
    
    Fix these bugs by correctly computing the length of the option name and
    by copying the option value, null-terminated, into a temporary buffer.
    
    Reproducer for the WARN_ONCE() that syzbot hit:
    
        perl -e 'print "#A#", "\0" x 50000' | keyctl padd dns_resolver desc @s
    
    Reproducer for "dnserror" option being parsed incorrectly (expected
    behavior is to fail when seeing the unknown option "foo", actual
    behavior was to read the dnserror value as "1#foo" and fail there):
    
        perl -e 'print "#dnserror=1#foo\0"' | keyctl padd dns_resolver desc @s
    
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Fixes: 4a2d789267e0 ("DNS: If the DNS server returns an error, allow that to be cached [ver #2]")
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 16bfc60e61017c3499d61f6eb7478b5a74381abe
Author: Florian Westphal <fw@strlen.de>
Date:   Wed Jun 6 12:14:56 2018 +0200

    netfilter: ebtables: reject non-bridge targets
    
    commit 11ff7288beb2b7da889a014aff0a7b80bf8efcf3 upstream.
    
    the ebtables evaluation loop expects targets to return
    positive values (jumps), or negative values (absolute verdicts).
    
    This is completely different from what xtables does.
    In xtables, targets are expected to return the standard netfilter
    verdicts, i.e. NF_DROP, NF_ACCEPT, etc.
    
    ebtables will consider these as jumps.
    
    Therefore reject any target found due to unspec fallback.
    v2: also reject watchers.  ebtables ignores their return value, so
    a target that assumes skb ownership (and returns NF_STOLEN) causes
    use-after-free.
    
    The only watchers in the 'ebtables' front-end are log and nflog;
    both have AF_BRIDGE specific wrappers on kernel side.
    
    Reported-by: syzbot+2b43f681169a2a0d306a@syzkaller.appspotmail.com
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 776bfa105bd7857ac1277463d876aec562c36ad9
Author: Alex Vesker <valex@mellanox.com>
Date:   Tue Jun 12 16:14:31 2018 +0300

    net/mlx5: Fix command interface race in polling mode
    
    [ Upstream commit d412c31dae053bf30a1bc15582a9990df297a660 ]
    
    The command interface can work in two modes: Events and Polling.
    In the general case, each time we invoke a command, a work is
    queued to handle it.
    
    When working in events, the interrupt handler completes the
    command execution. On the other hand, when working in polling
    mode, the work itself completes it.
    
    Due to a bug in the work handler, a command could have been
    completed by the interrupt handler, while the work handler
    hasn't finished yet, causing the it to complete once again
    if the command interface mode was changed from Events to
    polling after the interrupt handler was called.
    
    mlx5_unload_one()
            mlx5_stop_eqs()
                    // Destroy the EQ before cmd EQ
                    ...cmd_work_handler()
                            write_doorbell()
                            --> EVENT_TYPE_CMD
                                    mlx5_cmd_comp_handler() // First free
                                            free_ent(cmd, ent->idx)
                                            complete(&ent->done)
    
            <-- mlx5_stop_eqs //cmd was complete
                    // move to polling before destroying the last cmd EQ
                    mlx5_cmd_use_polling()
                            cmd->mode = POLL;
    
                    --> cmd_work_handler (continues)
                            if (cmd->mode == POLL)
                                    mlx5_cmd_comp_handler() // Double free
    
    The solution is to store the cmd->mode before writing the doorbell.
    
    Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
    Signed-off-by: Alex Vesker <valex@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1c67c117d4273566e39b22902637c0d2aa33355a
Author: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Date:   Fri Jun 15 13:27:31 2018 +0300

    net_sched: blackhole: tell upper qdisc about dropped packets
    
    [ Upstream commit 7e85dc8cb35abf16455f1511f0670b57c1a84608 ]
    
    When blackhole is used on top of classful qdisc like hfsc it breaks
    qlen and backlog counters because packets are disappear without notice.
    
    In HFSC non-zero qlen while all classes are inactive triggers warning:
    WARNING: ... at net/sched/sch_hfsc.c:1393 hfsc_dequeue+0xba4/0xe90 [sch_hfsc]
    and schedules watchdog work endlessly.
    
    This patch return __NET_XMIT_BYPASS in addition to NET_XMIT_SUCCESS,
    this flag tells upper layer: this packet is gone and isn't queued.
    
    Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 861aa150174135b16b8c6502baaa65f802ef8dca
Author: Jason Wang <jasowang@redhat.com>
Date:   Thu Jun 21 13:11:31 2018 +0800

    vhost_net: validate sock before trying to put its fd
    
    [ Upstream commit b8f1f65882f07913157c44673af7ec0b308d03eb ]
    
    Sock will be NULL if we pass -1 to vhost_net_set_backend(), but when
    we meet errors during ubuf allocation, the code does not check for
    NULL before calling sockfd_put(), this will lead NULL
    dereferencing. Fixing by checking sock pointer before.
    
    Fixes: bab632d69ee4 ("vhost: vhost TX zero-copy support")
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4c208c55e4a3e8642d92365e9d2051985b471db1
Author: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Date:   Fri Jun 29 13:07:53 2018 +0300

    tcp: prevent bogus FRTO undos with non-SACK flows
    
    [ Upstream commit 1236f22fbae15df3736ab4a984c64c0c6ee6254c ]
    
    If SACK is not enabled and the first cumulative ACK after the RTO
    retransmission covers more than the retransmitted skb, a spurious
    FRTO undo will trigger (assuming FRTO is enabled for that RTO).
    The reason is that any non-retransmitted segment acknowledged will
    set FLAG_ORIG_SACK_ACKED in tcp_clean_rtx_queue even if there is
    no indication that it would have been delivered for real (the
    scoreboard is not kept with TCPCB_SACKED_ACKED bits in the non-SACK
    case so the check for that bit won't help like it does with SACK).
    Having FLAG_ORIG_SACK_ACKED set results in the spurious FRTO undo
    in tcp_process_loss.
    
    We need to use more strict condition for non-SACK case and check
    that none of the cumulatively ACKed segments were retransmitted
    to prove that progress is due to original transmissions. Only then
    keep FLAG_ORIG_SACK_ACKED set, allowing FRTO undo to proceed in
    non-SACK case.
    
    (FLAG_ORIG_SACK_ACKED is planned to be renamed to FLAG_ORIG_PROGRESS
    to better indicate its purpose but to keep this change minimal, it
    will be done in another patch).
    
    Besides burstiness and congestion control violations, this problem
    can result in RTO loop: When the loss recovery is prematurely
    undoed, only new data will be transmitted (if available) and
    the next retransmission can occur only after a new RTO which in case
    of multiple losses (that are not for consecutive packets) requires
    one RTO per loss to recover.
    
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
    Tested-by: Neal Cardwell <ncardwell@google.com>
    Acked-by: Neal Cardwell <ncardwell@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d179a7dfd4e797ead76c9b417db13f8ffbd8104c
Author: Yuchung Cheng <ycheng@google.com>
Date:   Wed Jun 27 16:04:48 2018 -0700

    tcp: fix Fast Open key endianness
    
    [ Upstream commit c860e997e9170a6d68f9d1e6e2cf61f572191aaf ]
    
    Fast Open key could be stored in different endian based on the CPU.
    Previously hosts in different endianness in a server farm using
    the same key config (sysctl value) would produce different cookies.
    This patch fixes it by always storing it as little endian to keep
    same API for LE hosts.
    
    Reported-by: Daniele Iamartino <danielei@google.com>
    Signed-off-by: Yuchung Cheng <ycheng@google.com>
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Neal Cardwell <ncardwell@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8b2d8b165a2b69c67d07f5e087acbeda9d56c3cc
Author: Eric Dumazet <edumazet@google.com>
Date:   Tue Jun 19 19:18:50 2018 -0700

    net: sungem: fix rx checksum support
    
    [ Upstream commit 12b03558cef6d655d0d394f5e98a6fd07c1f6c0f ]
    
    After commit 88078d98d1bb ("net: pskb_trim_rcsum() and CHECKSUM_COMPLETE
    are friends"), sungem owners reported the infamous "eth0: hw csum failure"
    message.
    
    CHECKSUM_COMPLETE has in fact never worked for this driver, but this
    was masked by the fact that upper stacks had to strip the FCS, and
    therefore skb->ip_summed was set back to CHECKSUM_NONE before
    my recent change.
    
    Driver configures a number of bytes to skip when the chip computes
    the checksum, and for some reason only half of the Ethernet header
    was skipped.
    
    Then a second problem is that we should strip the FCS by default,
    unless the driver is updated to eventually support NETIF_F_RXFCS in
    the future.
    
    Finally, a driver should check if NETIF_F_RXCSUM feature is enabled
    or not, so that the admin can turn off rx checksum if wanted.
    
    Many thanks to Andreas Schwab and Mathieu Malaterre for their
    help in debugging this issue.
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reported-by: Meelis Roos <mroos@linux.ee>
    Reported-by: Mathieu Malaterre <malat@debian.org>
    Reported-by: Andreas Schwab <schwab@linux-m68k.org>
    Tested-by: Andreas Schwab <schwab@linux-m68k.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 718973a33a9b87b1296d399327f2525276ba7ef6
Author: Alex Vesker <valex@mellanox.com>
Date:   Fri May 25 20:25:59 2018 +0300

    net/mlx5: Fix incorrect raw command length parsing
    
    [ Upstream commit 603b7bcff824740500ddfa001d7a7168b0b38542 ]
    
    The NULL character was not set correctly for the string containing
    the command length, this caused failures reading the output of the
    command due to a random length. The fix is to initialize the output
    length string.
    
    Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
    Signed-off-by: Alex Vesker <valex@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9e2b29951a1fb8a3699ed2dad2585b5764ba9ba4
Author: Eric Dumazet <edumazet@google.com>
Date:   Fri Jun 22 06:44:15 2018 -0700

    net: dccp: switch rx_tstamp_last_feedback to monotonic clock
    
    [ Upstream commit 0ce4e70ff00662ad7490e545ba0cd8c1fa179fca ]
    
    To compute delays, better not use time of the day which can
    be changed by admins or malicious programs.
    
    Also change ccid3_first_li() to use s64 type for delta variable
    to avoid potential overflows.
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Gerrit Renker <gerrit@erg.abdn.ac.uk>
    Cc: dccp@vger.kernel.org
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 32109863cccdd30870f292d7807940f3398107de
Author: Eric Dumazet <edumazet@google.com>
Date:   Fri Jun 22 06:44:14 2018 -0700

    net: dccp: avoid crash in ccid3_hc_rx_send_feedback()
    
    [ Upstream commit 74174fe5634ffbf645a7ca5a261571f700b2f332 ]
    
    On fast hosts or malicious bots, we trigger a DCCP_BUG() which
    seems excessive.
    
    syzbot reported :
    
    BUG: delta (-6195) <= 0 at net/dccp/ccids/ccid3.c:628/ccid3_hc_rx_send_feedback()
    CPU: 1 PID: 18 Comm: ksoftirqd/1 Not tainted 4.18.0-rc1+ #112
    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+0x1c9/0x2b4 lib/dump_stack.c:113
     ccid3_hc_rx_send_feedback net/dccp/ccids/ccid3.c:628 [inline]
     ccid3_hc_rx_packet_recv.cold.16+0x38/0x71 net/dccp/ccids/ccid3.c:793
     ccid_hc_rx_packet_recv net/dccp/ccid.h:185 [inline]
     dccp_deliver_input_to_ccids+0xf0/0x280 net/dccp/input.c:180
     dccp_rcv_established+0x87/0xb0 net/dccp/input.c:378
     dccp_v4_do_rcv+0x153/0x180 net/dccp/ipv4.c:654
     sk_backlog_rcv include/net/sock.h:914 [inline]
     __sk_receive_skb+0x3ba/0xd80 net/core/sock.c:517
     dccp_v4_rcv+0x10f9/0x1f58 net/dccp/ipv4.c:875
     ip_local_deliver_finish+0x2eb/0xda0 net/ipv4/ip_input.c:215
     NF_HOOK include/linux/netfilter.h:287 [inline]
     ip_local_deliver+0x1e9/0x750 net/ipv4/ip_input.c:256
     dst_input include/net/dst.h:450 [inline]
     ip_rcv_finish+0x823/0x2220 net/ipv4/ip_input.c:396
     NF_HOOK include/linux/netfilter.h:287 [inline]
     ip_rcv+0xa18/0x1284 net/ipv4/ip_input.c:492
     __netif_receive_skb_core+0x2488/0x3680 net/core/dev.c:4628
     __netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4693
     process_backlog+0x219/0x760 net/core/dev.c:5373
     napi_poll net/core/dev.c:5771 [inline]
     net_rx_action+0x7da/0x1980 net/core/dev.c:5837
     __do_softirq+0x2e8/0xb17 kernel/softirq.c:284
     run_ksoftirqd+0x86/0x100 kernel/softirq.c:645
     smpboot_thread_fn+0x417/0x870 kernel/smpboot.c:164
     kthread+0x345/0x410 kernel/kthread.c:240
     ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Cc: Gerrit Renker <gerrit@erg.abdn.ac.uk>
    Cc: dccp@vger.kernel.org
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bb447b804dfc235d4f74d73b034d65aaf89f74f5
Author: Christian Lamparter <chunkeey@googlemail.com>
Date:   Fri Aug 25 15:47:24 2017 +0200

    crypto: crypto4xx - fix crypto4xx_build_pdr, crypto4xx_build_sdr leak
    
    commit 5d59ad6eea82ef8df92b4109615a0dde9d8093e9 upstream.
    
    If one of the later memory allocations in rypto4xx_build_pdr()
    fails: dev->pdr (and/or) dev->pdr_uinfo wouldn't be freed.
    
    crypto4xx_build_sdr() has the same issue with dev->sdr.
    
    Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2750ee7cf74779ec16188051af44bed6e89089b4
Author: Christian Lamparter <chunkeey@googlemail.com>
Date:   Fri Aug 25 15:47:14 2017 +0200

    crypto: crypto4xx - remove bad list_del
    
    commit a728a196d253530f17da5c86dc7dfbe58c5f7094 upstream.
    
    alg entries are only added to the list, after the registration
    was successful. If the registration failed, it was never added
    to the list in the first place.
    
    Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e3e746f522dcec9bc12e9e72f2be172c8605084e
Author: Jonas Gorski <jonas.gorski@gmail.com>
Date:   Sun Oct 1 13:02:16 2017 +0200

    bcm63xx_enet: do not write to random DMA channel on BCM6345
    
    commit d6213c1f2ad54a964b77471690264ed685718928 upstream.
    
    The DMA controller regs actually point to DMA channel 0, so the write to
    ENETDMA_CFG_REG will actually modify a random DMA channel.
    
    Since DMA controller registers do not exist on BCM6345, guard the write
    with the usual check for dma_has_sram.
    
    Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1bba4e033f39ee0ec3c7f48649e9fe7b9eccb3cd
Author: Jonas Gorski <jonas.gorski@gmail.com>
Date:   Sun Oct 1 13:02:15 2017 +0200

    bcm63xx_enet: correct clock usage
    
    commit 9c86b846ce02f7e35d7234cf090b80553eba5389 upstream.
    
    Check the return code of prepare_enable and change one last instance of
    enable only to prepare_enable. Also properly disable and release the
    clock in error paths and on remove for enetsw.
    
    Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit eb5e1aa8d838e74fb89080f955d3b4bb17e9a640
Author: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Date:   Fri May 4 10:58:09 2018 -0600

    loop: remember whether sysfs_create_group() was done
    
    commit d3349b6b3c373ac1fbfb040b810fcee5e2adc7e0 upstream.
    
    syzbot is hitting WARN() triggered by memory allocation fault
    injection [1] because loop module is calling sysfs_remove_group()
    when sysfs_create_group() failed.
    Fix this by remembering whether sysfs_create_group() succeeded.
    
    [1] https://syzkaller.appspot.com/bug?id=3f86c0edf75c86d2633aeb9dd69eccc70bc7e90b
    
    Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Reported-by: syzbot <syzbot+9f03168400f56df89dbc6f1751f4458fe739ff29@syzkaller.appspotmail.com>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    
    Renamed sysfs_ready -> sysfs_inited.
    
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 09b7c3365419f8ab8aa0507298e80fe07250ca1b
Author: Leon Romanovsky <leonro@mellanox.com>
Date:   Wed May 23 08:22:11 2018 +0300

    RDMA/ucm: Mark UCM interface as BROKEN
    
    commit 7a8690ed6f5346f6738971892205e91d39b6b901 upstream.
    
    In commit 357d23c811a7 ("Remove the obsolete libibcm library")
    in rdma-core [1], we removed obsolete library which used the
    /dev/infiniband/ucmX interface.
    
    Following multiple syzkaller reports about non-sanitized
    user input in the UCMA module, the short audit reveals the same
    issues in UCM module too.
    
    It is better to disable this interface in the kernel,
    before syzkaller team invests time and energy to harden
    this unused interface.
    
    [1] https://github.com/linux-rdma/rdma-core/pull/279
    
    Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
    Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e472ba153dc2e01d8943767ddb5547fa32f95725
Author: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Date:   Sat May 26 09:59:36 2018 +0900

    PM / hibernate: Fix oops at snapshot_write()
    
    commit fc14eebfc20854a38fd9f1d93a42b1783dad4d17 upstream.
    
    syzbot is reporting NULL pointer dereference at snapshot_write() [1].
    This is because data->handle is zero-cleared by ioctl(SNAPSHOT_FREE).
    Fix this by checking data_of(data->handle) != NULL before using it.
    
    [1] https://syzkaller.appspot.com/bug?id=828a3c71bd344a6de8b6a31233d51a72099f27fd
    
    Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Reported-by: syzbot <syzbot+ae590932da6e45d6564d@syzkaller.appspotmail.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 316a80137a3bb4df3c4dc6be22d0eb11f712375d
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Mon May 7 11:37:58 2018 -0400

    loop: add recursion validation to LOOP_CHANGE_FD
    
    commit d2ac838e4cd7e5e9891ecc094d626734b0245c99 upstream.
    
    Refactor the validation code used in LOOP_SET_FD so it is also used in
    LOOP_CHANGE_FD.  Otherwise it is possible to construct a set of loop
    devices that all refer to each other.  This can lead to a infinite
    loop in starting with "while (is_loop_device(f)) .." in loop_set_fd().
    
    Fix this by refactoring out the validation code and using it for
    LOOP_CHANGE_FD as well as LOOP_SET_FD.
    
    Reported-by: syzbot+4349872271ece473a7c91190b68b4bac7c5dbc87@syzkaller.appspotmail.com
    Reported-by: syzbot+40bd32c4d9a3cc12a339@syzkaller.appspotmail.com
    Reported-by: syzbot+769c54e66f994b041be7@syzkaller.appspotmail.com
    Reported-by: syzbot+0a89a9ce473936c57065@syzkaller.appspotmail.com
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 73078f5bd9e05c28aaeb345b3227e785f55c76ff
Author: Florian Westphal <fw@strlen.de>
Date:   Thu Jun 7 21:34:43 2018 +0200

    netfilter: x_tables: initialise match/target check parameter struct
    
    commit c568503ef02030f169c9e19204def610a3510918 upstream.
    
    syzbot reports following splat:
    
    BUG: KMSAN: uninit-value in ebt_stp_mt_check+0x24b/0x450
     net/bridge/netfilter/ebt_stp.c:162
     ebt_stp_mt_check+0x24b/0x450 net/bridge/netfilter/ebt_stp.c:162
     xt_check_match+0x1438/0x1650 net/netfilter/x_tables.c:506
     ebt_check_match net/bridge/netfilter/ebtables.c:372 [inline]
     ebt_check_entry net/bridge/netfilter/ebtables.c:702 [inline]
    
    The uninitialised access is
       xt_mtchk_param->nft_compat
    
    ... which should be set to 0.
    Fix it by zeroing the struct beforehand, same for tgchk.
    
    ip(6)tables targetinfo uses c99-style initialiser, so no change
    needed there.
    
    Reported-by: syzbot+da4494182233c23a5fcf@syzkaller.appspotmail.com
    Fixes: 55917a21d0cc0 ("netfilter: x_tables: add context to know if extension runs from nft_compat")
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c5f2c5be9d1787a7bde81186d093be54c0caeb34
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Jul 3 17:10:19 2018 -0700

    Fix up non-directory creation in SGID directories
    
    commit 0fa3ecd87848c9c93c2c828ef4c3a8ca36ce46c7 upstream.
    
    sgid directories have special semantics, making newly created files in
    the directory belong to the group of the directory, and newly created
    subdirectories will also become sgid.  This is historically used for
    group-shared directories.
    
    But group directories writable by non-group members should not imply
    that such non-group members can magically join the group, so make sure
    to clear the sgid bit on non-directories for non-members (but remember
    that sgid without group execute means "mandatory locking", just to
    confuse things even more).
    
    Reported-by: Jann Horn <jannh@google.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    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 56777c546d9e271792db6f60193eb3c003787eb6
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Wed Jul 4 12:48:53 2018 +0300

    xhci: xhci-mem: off by one in xhci_stream_id_to_ring()
    
    commit 313db3d6488bb03b61b99de9dbca061f1fd838e1 upstream.
    
    The > should be >= here so that we don't read one element beyond the end
    of the ep->stream_info->stream_rings[] array.
    
    Fixes: e9df17eb1408 ("USB: xhci: Correct assumptions about number of rings per endpoint.")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b85c88f59779ca8c9474607ce673bd5736c5d699
Author: Nico Sneck <snecknico@gmail.com>
Date:   Mon Jul 2 19:26:07 2018 +0300

    usb: quirks: add delay quirks for Corsair Strafe
    
    commit bba57eddadda936c94b5dccf73787cb9e159d0a5 upstream.
    
    Corsair Strafe appears to suffer from the same issues
    as the Corsair Strafe RGB.
    Apply the same quirks (control message delay and init delay)
    that the RGB version has to 1b1c:1b15.
    
    With these quirks in place the keyboard works correctly upon
    booting the system, and no longer requires reattaching the device.
    
    Signed-off-by: Nico Sneck <snecknico@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a10a393dc9fdfc93cbe5daa5c80e153ae1edd5f3
Author: Johan Hovold <johan@kernel.org>
Date:   Wed Jul 4 17:02:17 2018 +0200

    USB: serial: mos7840: fix status-register error handling
    
    commit 794744abfffef8b1f3c0c8a4896177d6d13d653d upstream.
    
    Add missing transfer-length sanity check to the status-register
    completion handler to avoid leaking bits of uninitialised slab data to
    user space.
    
    Fixes: 3f5429746d91 ("USB: Moschip 7840 USB-Serial Driver")
    Cc: stable <stable@vger.kernel.org>     # 2.6.19
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b261643c6916c8d4e8571072abdc5e6646054db6
Author: Jann Horn <jannh@google.com>
Date:   Fri Jul 6 17:12:56 2018 +0200

    USB: yurex: fix out-of-bounds uaccess in read handler
    
    commit f1e255d60ae66a9f672ff9a207ee6cd8e33d2679 upstream.
    
    In general, accessing userspace memory beyond the length of the supplied
    buffer in VFS read/write handlers can lead to both kernel memory corruption
    (via kernel_read()/kernel_write(), which can e.g. be triggered via
    sys_splice()) and privilege escalation inside userspace.
    
    Fix it by using simple_read_from_buffer() instead of custom logic.
    
    Fixes: 6bc235a2e24a ("USB: add driver for Meywa-Denki & Kayac YUREX")
    Signed-off-by: Jann Horn <jannh@google.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 81739d0b623ebba7c63a9529ef53845dfda86e89
Author: Johan Hovold <johan@kernel.org>
Date:   Wed Jul 4 17:02:16 2018 +0200

    USB: serial: keyspan_pda: fix modem-status error handling
    
    commit 01b3cdfca263a17554f7b249d20a247b2a751521 upstream.
    
    Fix broken modem-status error handling which could lead to bits of slab
    data leaking to user space.
    
    Fixes: 3b36a8fd6777 ("usb: fix uninitialized variable warning in keyspan_pda")
    Cc: stable <stable@vger.kernel.org>     # 2.6.27
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f6a154848347977415377f0aad0aca241a2e5c0f
Author: Jann Horn <jannh@google.com>
Date:   Sat Jul 7 04:16:33 2018 +0200

    ibmasm: don't write out of bounds in read handler
    
    commit a0341fc1981a950c1e902ab901e98f60e0e243f3 upstream.
    
    This read handler had a lot of custom logic and wrote outside the bounds of
    the provided buffer. This could lead to kernel and userspace memory
    corruption. Just use simple_read_from_buffer() with a stack buffer.
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Cc: stable@vger.kernel.org
    Signed-off-by: Jann Horn <jannh@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>