Skip to content

Commit

Permalink
origin
Browse files Browse the repository at this point in the history
GIT d0473f978e61557464daa8547008fa2cd0c63a17

commit a3d46aea46f99d134b4e0726e4826b824c3e5980
Author: Nikolay Borisov <nborisov@suse.com>
Date:   Mon Apr 1 11:29:58 2019 +0300

    btrfs: Switch memory allocations in async csum calculation path to kvmalloc
    
    Recent multi-page biovec rework allowed creation of bios that can span
    large regions - up to 128 megabytes in the case of btrfs. OTOH btrfs'
    submission path currently allocates a contiguous array to store the
    checksums for every bio submitted. This means we can request up to
    (128mb / BTRFS_SECTOR_SIZE) * 4 bytes + 32bytes of memory from kmalloc.
    On busy systems with possibly fragmented memory said kmalloc can fail
    which will trigger BUG_ON due to improper error handling IO submission
    context in btrfs.
    
    Until error handling is improved or bios in btrfs limited to a more
    manageable size (e.g. 1m) let's use kvmalloc to fallback to vmalloc for
    such large allocations. There is no hard requirement that the memory
    allocated for checksums during IO submission has to be contiguous, but
    this is a simple fix that does not require several non-contiguous
    allocations.
    
    For small writes this is unlikely to have any visible effect since
    kmalloc will still satisfy allocation requests as usual. For larger
    requests the code will just fallback to vmalloc.
    
    We've performed evaluation on several workload types and there was no
    significant difference kmalloc vs kvmalloc.
    
    Signed-off-by: Nikolay Borisov <nborisov@suse.com>
    Reviewed-by: David Sterba <dsterba@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 20ff83f10f113c88d0bb74589389b05250994c16
Author: Eric Dumazet <edumazet@google.com>
Date:   Wed Apr 24 08:04:05 2019 -0700

    ipv4: add sanity checks in ipv4_link_failure()
    
    Before calling __ip_options_compile(), we need to ensure the network
    header is a an IPv4 one, and that it is already pulled in skb->head.
    
    RAW sockets going through a tunnel can end up calling ipv4_link_failure()
    with total garbage in the skb, or arbitrary lengthes.
    
    syzbot report :
    
    BUG: KASAN: stack-out-of-bounds in memcpy include/linux/string.h:355 [inline]
    BUG: KASAN: stack-out-of-bounds in __ip_options_echo+0x294/0x1120 net/ipv4/ip_options.c:123
    Write of size 69 at addr ffff888096abf068 by task syz-executor.4/9204
    
    CPU: 0 PID: 9204 Comm: syz-executor.4 Not tainted 5.1.0-rc5+ #77
    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+0x172/0x1f0 lib/dump_stack.c:113
     print_address_description.cold+0x7c/0x20d mm/kasan/report.c:187
     kasan_report.cold+0x1b/0x40 mm/kasan/report.c:317
     check_memory_region_inline mm/kasan/generic.c:185 [inline]
     check_memory_region+0x123/0x190 mm/kasan/generic.c:191
     memcpy+0x38/0x50 mm/kasan/common.c:133
     memcpy include/linux/string.h:355 [inline]
     __ip_options_echo+0x294/0x1120 net/ipv4/ip_options.c:123
     __icmp_send+0x725/0x1400 net/ipv4/icmp.c:695
     ipv4_link_failure+0x29f/0x550 net/ipv4/route.c:1204
     dst_link_failure include/net/dst.h:427 [inline]
     vti6_xmit net/ipv6/ip6_vti.c:514 [inline]
     vti6_tnl_xmit+0x10d4/0x1c0c net/ipv6/ip6_vti.c:553
     __netdev_start_xmit include/linux/netdevice.h:4414 [inline]
     netdev_start_xmit include/linux/netdevice.h:4423 [inline]
     xmit_one net/core/dev.c:3292 [inline]
     dev_hard_start_xmit+0x1b2/0x980 net/core/dev.c:3308
     __dev_queue_xmit+0x271d/0x3060 net/core/dev.c:3878
     dev_queue_xmit+0x18/0x20 net/core/dev.c:3911
     neigh_direct_output+0x16/0x20 net/core/neighbour.c:1527
     neigh_output include/net/neighbour.h:508 [inline]
     ip_finish_output2+0x949/0x1740 net/ipv4/ip_output.c:229
     ip_finish_output+0x73c/0xd50 net/ipv4/ip_output.c:317
     NF_HOOK_COND include/linux/netfilter.h:278 [inline]
     ip_output+0x21f/0x670 net/ipv4/ip_output.c:405
     dst_output include/net/dst.h:444 [inline]
     NF_HOOK include/linux/netfilter.h:289 [inline]
     raw_send_hdrinc net/ipv4/raw.c:432 [inline]
     raw_sendmsg+0x1d2b/0x2f20 net/ipv4/raw.c:663
     inet_sendmsg+0x147/0x5d0 net/ipv4/af_inet.c:798
     sock_sendmsg_nosec net/socket.c:651 [inline]
     sock_sendmsg+0xdd/0x130 net/socket.c:661
     sock_write_iter+0x27c/0x3e0 net/socket.c:988
     call_write_iter include/linux/fs.h:1866 [inline]
     new_sync_write+0x4c7/0x760 fs/read_write.c:474
     __vfs_write+0xe4/0x110 fs/read_write.c:487
     vfs_write+0x20c/0x580 fs/read_write.c:549
     ksys_write+0x14f/0x2d0 fs/read_write.c:599
     __do_sys_write fs/read_write.c:611 [inline]
     __se_sys_write fs/read_write.c:608 [inline]
     __x64_sys_write+0x73/0xb0 fs/read_write.c:608
     do_syscall_64+0x103/0x610 arch/x86/entry/common.c:290
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    RIP: 0033:0x458c29
    Code: ad b8 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 7b b8 fb ff c3 66 2e 0f 1f 84 00 00 00 00
    RSP: 002b:00007f293b44bc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
    RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000458c29
    RDX: 0000000000000014 RSI: 00000000200002c0 RDI: 0000000000000003
    RBP: 000000000073bf00 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000246 R12: 00007f293b44c6d4
    R13: 00000000004c8623 R14: 00000000004ded68 R15: 00000000ffffffff
    
    The buggy address belongs to the page:
    page:ffffea00025aafc0 count:0 mapcount:0 mapping:0000000000000000 index:0x0
    flags: 0x1fffc0000000000()
    raw: 01fffc0000000000 0000000000000000 ffffffff025a0101 0000000000000000
    raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
    page dumped because: kasan: bad access detected
    
    Memory state around the buggy address:
     ffff888096abef80: 00 00 00 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 f2
     ffff888096abf000: f2 f2 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00
    >ffff888096abf080: 00 00 f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00
                             ^
     ffff888096abf100: 00 00 00 00 f1 f1 f1 f1 00 00 f3 f3 00 00 00 00
     ffff888096abf180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
    Fixes: ed0de45a1008 ("ipv4: recompile ip options in ipv4_link_failure")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Stephen Suryaputra <ssuryaextr@gmail.com>
    Acked-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 0453c682459583910d611a96de928f4442205493
Author: Eric Dumazet <edumazet@google.com>
Date:   Wed Apr 24 05:35:00 2019 -0700

    net/rose: fix unbound loop in rose_loopback_timer()
    
    This patch adds a limit on the number of skbs that fuzzers can queue
    into loopback_queue. 1000 packets for rose loopback seems more than enough.
    
    Then, since we now have multiple cpus in most linux hosts,
    we also need to limit the number of skbs rose_loopback_timer()
    can dequeue at each round.
    
    rose_loopback_queue() can be drop-monitor friendly, calling
    consume_skb() or kfree_skb() appropriately.
    
    Finally, use mod_timer() instead of del_timer() + add_timer()
    
    syzbot report was :
    
    rcu: INFO: rcu_preempt self-detected stall on CPU
    rcu:    0-...!: (10499 ticks this GP) idle=536/1/0x4000000000000002 softirq=103291/103291 fqs=34
    rcu:     (t=10500 jiffies g=140321 q=323)
    rcu: rcu_preempt kthread starved for 10426 jiffies! g140321 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=1
    rcu: RCU grace-period kthread stack dump:
    rcu_preempt     I29168    10      2 0x80000000
    Call Trace:
     context_switch kernel/sched/core.c:2877 [inline]
     __schedule+0x813/0x1cc0 kernel/sched/core.c:3518
     schedule+0x92/0x180 kernel/sched/core.c:3562
     schedule_timeout+0x4db/0xfd0 kernel/time/timer.c:1803
     rcu_gp_fqs_loop kernel/rcu/tree.c:1971 [inline]
     rcu_gp_kthread+0x962/0x17b0 kernel/rcu/tree.c:2128
     kthread+0x357/0x430 kernel/kthread.c:253
     ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352
    NMI backtrace for cpu 0
    CPU: 0 PID: 7632 Comm: kworker/0:4 Not tainted 5.1.0-rc5+ #172
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Workqueue: events iterate_cleanup_work
    Call Trace:
     <IRQ>
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x172/0x1f0 lib/dump_stack.c:113
     nmi_cpu_backtrace.cold+0x63/0xa4 lib/nmi_backtrace.c:101
     nmi_trigger_cpumask_backtrace+0x1be/0x236 lib/nmi_backtrace.c:62
     arch_trigger_cpumask_backtrace+0x14/0x20 arch/x86/kernel/apic/hw_nmi.c:38
     trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline]
     rcu_dump_cpu_stacks+0x183/0x1cf kernel/rcu/tree.c:1223
     print_cpu_stall kernel/rcu/tree.c:1360 [inline]
     check_cpu_stall kernel/rcu/tree.c:1434 [inline]
     rcu_pending kernel/rcu/tree.c:3103 [inline]
     rcu_sched_clock_irq.cold+0x500/0xa4a kernel/rcu/tree.c:2544
     update_process_times+0x32/0x80 kernel/time/timer.c:1635
     tick_sched_handle+0xa2/0x190 kernel/time/tick-sched.c:161
     tick_sched_timer+0x47/0x130 kernel/time/tick-sched.c:1271
     __run_hrtimer kernel/time/hrtimer.c:1389 [inline]
     __hrtimer_run_queues+0x33e/0xde0 kernel/time/hrtimer.c:1451
     hrtimer_interrupt+0x314/0x770 kernel/time/hrtimer.c:1509
     local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1035 [inline]
     smp_apic_timer_interrupt+0x120/0x570 arch/x86/kernel/apic/apic.c:1060
     apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:807
    RIP: 0010:__sanitizer_cov_trace_pc+0x0/0x50 kernel/kcov.c:95
    Code: 89 25 b4 6e ec 08 41 bc f4 ff ff ff e8 cd 5d ea ff 48 c7 05 9e 6e ec 08 00 00 00 00 e9 a4 e9 ff ff 90 90 90 90 90 90 90 90 90 <55> 48 89 e5 48 8b 75 08 65 48 8b 04 25 00 ee 01 00 65 8b 15 c8 60
    RSP: 0018:ffff8880ae807ce0 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff13
    RAX: ffff88806fd40640 RBX: dffffc0000000000 RCX: ffffffff863fbc56
    RDX: 0000000000000100 RSI: ffffffff863fbc1d RDI: ffff88808cf94228
    RBP: ffff8880ae807d10 R08: ffff88806fd40640 R09: ffffed1015d00f8b
    R10: ffffed1015d00f8a R11: 0000000000000003 R12: ffff88808cf941c0
    R13: 00000000fffff034 R14: ffff8882166cd840 R15: 0000000000000000
     rose_loopback_timer+0x30d/0x3f0 net/rose/rose_loopback.c:91
     call_timer_fn+0x190/0x720 kernel/time/timer.c:1325
     expire_timers kernel/time/timer.c:1362 [inline]
     __run_timers kernel/time/timer.c:1681 [inline]
     __run_timers kernel/time/timer.c:1649 [inline]
     run_timer_softirq+0x652/0x1700 kernel/time/timer.c:1694
     __do_softirq+0x266/0x95a kernel/softirq.c:293
     do_softirq_own_stack+0x2a/0x40 arch/x86/entry/entry_64.S:1027
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 032be5f19a94de51093851757089133dcc1e92aa
Author: Eric Dumazet <edumazet@google.com>
Date:   Wed Apr 24 09:44:11 2019 -0700

    rxrpc: fix race condition in rxrpc_input_packet()
    
    After commit 5271953cad31 ("rxrpc: Use the UDP encap_rcv hook"),
    rxrpc_input_packet() is directly called from lockless UDP receive
    path, under rcu_read_lock() protection.
    
    It must therefore use RCU rules :
    
    - udp_sk->sk_user_data can be cleared at any point in this function.
      rcu_dereference_sk_user_data() is what we need here.
    
    - Also, since sk_user_data might have been set in rxrpc_open_socket()
      we must observe a proper RCU grace period before kfree(local) in
      rxrpc_lookup_local()
    
    v4: @local can be NULL in xrpc_lookup_local() as reported by kbuild test robot <lkp@intel.com>
            and Julia Lawall <julia.lawall@lip6.fr>, thanks !
    
    v3,v2 : addressed David Howells feedback, thanks !
    
    syzbot reported :
    
    kasan: CONFIG_KASAN_INLINE enabled
    kasan: GPF could be caused by NULL-ptr deref or user memory access
    general protection fault: 0000 [#1] PREEMPT SMP KASAN
    CPU: 0 PID: 19236 Comm: syz-executor703 Not tainted 5.1.0-rc6 #79
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    RIP: 0010:__lock_acquire+0xbef/0x3fb0 kernel/locking/lockdep.c:3573
    Code: 00 0f 85 a5 1f 00 00 48 81 c4 10 01 00 00 5b 41 5c 41 5d 41 5e 41 5f 5d c3 48 b8 00 00 00 00 00 fc ff df 4c 89 ea 48 c1 ea 03 <80> 3c 02 00 0f 85 4a 21 00 00 49 81 7d 00 20 54 9c 89 0f 84 cf f4
    RSP: 0018:ffff88809d7aef58 EFLAGS: 00010002
    RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000
    RDX: 0000000000000026 RSI: 0000000000000000 RDI: 0000000000000001
    RBP: ffff88809d7af090 R08: 0000000000000001 R09: 0000000000000001
    R10: ffffed1015d05bc7 R11: ffff888089428600 R12: 0000000000000000
    R13: 0000000000000130 R14: 0000000000000001 R15: 0000000000000001
    FS:  00007f059044d700(0000) GS:ffff8880ae800000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00000000004b6040 CR3: 00000000955ca000 CR4: 00000000001406f0
    Call Trace:
     lock_acquire+0x16f/0x3f0 kernel/locking/lockdep.c:4211
     __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
     _raw_spin_lock_irqsave+0x95/0xcd kernel/locking/spinlock.c:152
     skb_queue_tail+0x26/0x150 net/core/skbuff.c:2972
     rxrpc_reject_packet net/rxrpc/input.c:1126 [inline]
     rxrpc_input_packet+0x4a0/0x5536 net/rxrpc/input.c:1414
     udp_queue_rcv_one_skb+0xaf2/0x1780 net/ipv4/udp.c:2011
     udp_queue_rcv_skb+0x128/0x730 net/ipv4/udp.c:2085
     udp_unicast_rcv_skb.isra.0+0xb9/0x360 net/ipv4/udp.c:2245
     __udp4_lib_rcv+0x701/0x2ca0 net/ipv4/udp.c:2301
     udp_rcv+0x22/0x30 net/ipv4/udp.c:2482
     ip_protocol_deliver_rcu+0x60/0x8f0 net/ipv4/ip_input.c:208
     ip_local_deliver_finish+0x23b/0x390 net/ipv4/ip_input.c:234
     NF_HOOK include/linux/netfilter.h:289 [inline]
     NF_HOOK include/linux/netfilter.h:283 [inline]
     ip_local_deliver+0x1e9/0x520 net/ipv4/ip_input.c:255
     dst_input include/net/dst.h:450 [inline]
     ip_rcv_finish+0x1e1/0x300 net/ipv4/ip_input.c:413
     NF_HOOK include/linux/netfilter.h:289 [inline]
     NF_HOOK include/linux/netfilter.h:283 [inline]
     ip_rcv+0xe8/0x3f0 net/ipv4/ip_input.c:523
     __netif_receive_skb_one_core+0x115/0x1a0 net/core/dev.c:4987
     __netif_receive_skb+0x2c/0x1c0 net/core/dev.c:5099
     netif_receive_skb_internal+0x117/0x660 net/core/dev.c:5202
     napi_frags_finish net/core/dev.c:5769 [inline]
     napi_gro_frags+0xade/0xd10 net/core/dev.c:5843
     tun_get_user+0x2f24/0x3fb0 drivers/net/tun.c:1981
     tun_chr_write_iter+0xbd/0x156 drivers/net/tun.c:2027
     call_write_iter include/linux/fs.h:1866 [inline]
     do_iter_readv_writev+0x5e1/0x8e0 fs/read_write.c:681
     do_iter_write fs/read_write.c:957 [inline]
     do_iter_write+0x184/0x610 fs/read_write.c:938
     vfs_writev+0x1b3/0x2f0 fs/read_write.c:1002
     do_writev+0x15e/0x370 fs/read_write.c:1037
     __do_sys_writev fs/read_write.c:1110 [inline]
     __se_sys_writev fs/read_write.c:1107 [inline]
     __x64_sys_writev+0x75/0xb0 fs/read_write.c:1107
     do_syscall_64+0x103/0x610 arch/x86/entry/common.c:290
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    Fixes: 5271953cad31 ("rxrpc: Use the UDP encap_rcv hook")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Acked-by: David Howells <dhowells@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 52fb56f7b5a9cc23a07b2c237bad91180263a492
Author: Dan Murphy <dmurphy@ti.com>
Date:   Tue Apr 23 15:00:24 2019 -0500

    MAINTAINERS: LEDs: Add designated reviewer for LED subsystem
    
    Add a designated reviewer for the LED subsystem as there
    are already two maintainers assigned.
    
    Signed-off-by: Dan Murphy <dmurphy@ti.com>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>

commit 4b9fc7146249a6e0e3175d0acc033fdcd2bfcb17
Author: Zhu Yanjun <yanjun.zhu@oracle.com>
Date:   Wed Apr 24 02:56:42 2019 -0400

    net: rds: exchange of 8K and 1M pool
    
    Before the commit 490ea5967b0d ("RDS: IB: move FMR code to its own file"),
    when the dirty_count is greater than 9/10 of max_items of 8K pool,
    1M pool is used, Vice versa. After the commit 490ea5967b0d ("RDS: IB: move
    FMR code to its own file"), the above is removed. When we make the
    following tests.
    
    Server:
      rds-stress -r 1.1.1.16 -D 1M
    
    Client:
      rds-stress -r 1.1.1.14 -s 1.1.1.16 -D 1M
    
    The following will appear.
    "
    connecting to 1.1.1.16:4000
    negotiated options, tasks will start in 2 seconds
    Starting up..header from 1.1.1.166:4001 to id 4001 bogus
    ..
    tsks  tx/s  rx/s tx+rx K/s  mbi K/s  mbo K/s tx us/c  rtt us
    cpu %
       1    0    0     0.00     0.00     0.00    0.00 0.00 -1.00
       1    0    0     0.00     0.00     0.00    0.00 0.00 -1.00
       1    0    0     0.00     0.00     0.00    0.00 0.00 -1.00
       1    0    0     0.00     0.00     0.00    0.00 0.00 -1.00
       1    0    0     0.00     0.00     0.00    0.00 0.00 -1.00
    ...
    "
    So this exchange between 8K and 1M pool is added back.
    
    Fixes: commit 490ea5967b0d ("RDS: IB: move FMR code to its own file")
    Signed-off-by: Zhu Yanjun <yanjun.zhu@oracle.com>
    Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 6819e3f6d83a24777813b0d031ebe0861694db5a
Author: Miaohe Lin <linmiaohe@huawei.com>
Date:   Sat Apr 20 12:09:39 2019 +0800

    net: vrf: Fix operation not supported when set vrf mac
    
    Vrf device is not able to change mac address now because lack of
    ndo_set_mac_address. Complete this in case some apps need to do
    this.
    
    Reported-by: Hui Wang <wanghui104@huawei.com>
    Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 13f5938d8264b5501368523c4513ff26608a33e8
Author: Jérôme Glisse <jglisse@redhat.com>
Date:   Wed Apr 10 15:37:47 2019 -0400

    cifs: fix page reference leak with readv/writev
    
    CIFS can leak pages reference gotten through GUP (get_user_pages*()
    through iov_iter_get_pages()). This happen if cifs_send_async_read()
    or cifs_write_from_iter() calls fail from within __cifs_readv() and
    __cifs_writev() respectively. This patch move page unreference to
    cifs_aio_ctx_release() which will happens on all code paths this is
    all simpler to follow for correctness.
    
    Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
    Cc: Steve French <sfrench@samba.org>
    Cc: linux-cifs@vger.kernel.org
    Cc: samba-technical@lists.samba.org
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: linux-fsdevel@vger.kernel.org
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Stable <stable@vger.kernel.org>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>

commit 652727bbe1b17993636346716ae5867627793647
Author: Frank Sorenson <sorenson@redhat.com>
Date:   Tue Apr 16 08:37:27 2019 -0500

    cifs: do not attempt cifs operation on smb2+ rename error
    
    A path-based rename returning EBUSY will incorrectly try opening
    the file with a cifs (NT Create AndX) operation on an smb2+ mount,
    which causes the server to force a session close.
    
    If the mount is smb2+, skip the fallback.
    
    Signed-off-by: Frank Sorenson <sorenson@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    CC: Stable <stable@vger.kernel.org>
    Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>

commit 05fd5c2c61732152a6bddc318aae62d7e436629b
Author: Ronnie Sahlberg <lsahlber@redhat.com>
Date:   Tue Apr 23 16:39:45 2019 +1000

    cifs: fix memory leak in SMB2_read
    
    Commit 088aaf17aa79300cab14dbee2569c58cfafd7d6e introduced a leak where
    if SMB2_read() returned an error we would return without freeing the
    request buffer.
    
    Cc: Stable <stable@vger.kernel.org>
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 1c5c12ee308aacf635c8819cd4baa3bd58f8a8b7
Author: Tao Ren <taoren@fb.com>
Date:   Wed Apr 24 01:43:32 2019 +0000

    net/ncsi: handle overflow when incrementing mac address
    
    Previously BMC's MAC address is calculated by simply adding 1 to the
    last byte of network controller's MAC address, and it produces incorrect
    result when network controller's MAC address ends with 0xFF.
    
    The problem can be fixed by calling eth_addr_inc() function to increment
    MAC address; besides, the MAC address is also validated before assigning
    to BMC.
    
    Fixes: cb10c7c0dfd9 ("net/ncsi: Add NCSI Broadcom OEM command")
    Signed-off-by: Tao Ren <taoren@fb.com>
    Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Acked-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ffbf9870dcf1342592a1a26f4cf70bda39046134
Author: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Date:   Tue Apr 23 09:01:41 2019 +0300

    net: socionext: replace napi_alloc_frag with the netdev variant on init
    
    The netdev variant is usable on any context since it disables interrupts.
    The napi variant of the call should only be used within softirq context.
    Replace napi_alloc_frag on driver init with the correct netdev_alloc_frag
    call
    
    Changes since v1:
    - Adjusted commit message
    
    Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Acked-by: Jassi Brar <jaswinder.singh@linaro.org>
    Fixes: 4acb20b46214 ("net: socionext: different approach on DMA")
    Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 66c031716bcd9647cd2304e4875163663b086405
Author: Colin Ian King <colin.king@canonical.com>
Date:   Tue Apr 23 15:30:07 2019 +0100

    net: atheros: fix spelling mistake "underun" -> "underrun"
    
    There are spelling mistakes in structure elements, fix these.
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a0cecc23cfcbf2626497a8c8770856dd56b67917
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Apr 24 10:52:20 2019 +1000

    Revert "drm/virtio: drop prime import/export callbacks"
    
    This patch does more harm than good, as it breaks both Xwayland and
    gnome-shell with X11.
    
    Xwayland requires DRI3 & DRI3 requires PRIME.
    
    X11 crash for obscure double-free reason which are hard to debug
    (starting X11 by hand doesn't trigger the crash).
    
    I don't see an apparent problem implementing those stub prime
    functions, they may return an error at run-time, and it seems to be
    handled fine by GNOME at least.
    
    This reverts commit b318e3ff7ca065d6b107e424c85a63d7a6798a69.
    [airlied:
    This broke userspace for virtio-gpus, and regressed things from DRI3 to DRI2.
    
    This brings back the original problem, but it's better than regressions.]
    
    Fixes: b318e3ff7ca065d6b107e424c85a63d7a6798a ("drm/virtio: drop prime import/export callbacks")
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>

commit 9fa246256e09dc30820524401cdbeeaadee94025
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Apr 24 10:47:56 2019 +1000

    Revert "drm/i915/fbdev: Actually configure untiled displays"
    
    This reverts commit d179b88deb3bf6fed4991a31fd6f0f2cad21fab5.
    
    This commit is documented to break userspace X.org modesetting driver in certain configurations.
    
    The X.org modesetting userspace driver is broken. No fixes are available yet. In order for this patch to be applied it either needs a config option or a workaround developed.
    
    This has been reported a few times, saying it's a userspace problem is clearly against the regression rules.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109806
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Cc: <stable@vger.kernel.org> # v3.19+

commit 37659182bff1eeaaeadcfc8f853c6d2b6dbc3f47
Author: Yan, Zheng <zyan@redhat.com>
Date:   Thu Apr 18 11:24:57 2019 +0800

    ceph: fix ci->i_head_snapc leak
    
    We missed two places that i_wrbuffer_ref_head, i_wr_ref, i_dirty_caps
    and i_flushing_caps may change. When they are all zeros, we should free
    i_head_snapc.
    
    Cc: stable@vger.kernel.org
    Link: https://tracker.ceph.com/issues/38224
    Reported-and-tested-by: Luis Henriques <lhenriques@suse.com>
    Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit 4b8222870032715f9d995f3eb7c7acd8379a275d
Author: Jeff Layton <jlayton@kernel.org>
Date:   Mon Apr 15 12:00:42 2019 -0400

    ceph: handle the case where a dentry has been renamed on outstanding req
    
    It's possible for us to issue a lookup to revalidate a dentry
    concurrently with a rename. If done in the right order, then we could
    end up processing dentry info in the reply that no longer reflects the
    state of the dentry.
    
    If req->r_dentry->d_name differs from the one in the trace, then just
    ignore the trace in the reply. We only need to do this however if the
    parent's i_rwsem is not held.
    
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit 76a495d666e5043ffc315695f8241f5e94a98849
Author: Jeff Layton <jlayton@kernel.org>
Date:   Wed Apr 17 12:58:28 2019 -0400

    ceph: ensure d_name stability in ceph_dentry_hash()
    
    Take the d_lock here to ensure that d_name doesn't change.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit 1bcb344086f3ecf8d6705f6d708441baa823beb3
Author: Jeff Layton <jlayton@kernel.org>
Date:   Mon Apr 15 12:00:42 2019 -0400

    ceph: only use d_name directly when parent is locked
    
    Ben reported tripping the BUG_ON in create_request_message during some
    performance testing. Analysis of the vmcore showed that the length of
    the r_dentry->d_name string changed after we allocated the buffer, but
    before we encoded it.
    
    build_dentry_path returns pointers to d_name in the common case of
    non-snapped dentries, but this optimization isn't safe unless the parent
    directory is locked. When it isn't, have the code make a copy of the
    d_name while holding the d_lock.
    
    Cc: stable@vger.kernel.org
    Reported-by: Ben England <bengland@redhat.com>
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>

commit d04830531d0c4a99c897a44038e5da3d23331d2f
Author: Daniel Gomez <dagmcr@gmail.com>
Date:   Mon Apr 22 21:08:04 2019 +0200

    spi: ST ST95HF NFC: declare missing of table
    
    Add missing <of_device_id> table for SPI driver relying on SPI
    device match since compatible is in a DT binding or in a DTS.
    
    Before this patch:
    modinfo drivers/nfc/st95hf/st95hf.ko | grep alias
    alias:          spi:st95hf
    
    After this patch:
    modinfo drivers/nfc/st95hf/st95hf.ko | grep alias
    alias:          spi:st95hf
    alias:          of:N*T*Cst,st95hfC*
    alias:          of:N*T*Cst,st95hf
    
    Reported-by: Javier Martinez Canillas <javier@dowhile0.org>
    Signed-off-by: Daniel Gomez <dagmcr@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 2f23a2a768bee7ad2ff1e9527c3f7e279e794a46
Author: Daniel Gomez <dagmcr@gmail.com>
Date:   Mon Apr 22 21:08:03 2019 +0200

    spi: Micrel eth switch: declare missing of table
    
    Add missing <of_device_id> table for SPI driver relying on SPI
    device match since compatible is in a DT binding or in a DTS.
    
    Before this patch:
    modinfo drivers/net/phy/spi_ks8995.ko | grep alias
    alias:          spi:ksz8795
    alias:          spi:ksz8864
    alias:          spi:ks8995
    
    After this patch:
    modinfo drivers/net/phy/spi_ks8995.ko | grep alias
    alias:          spi:ksz8795
    alias:          spi:ksz8864
    alias:          spi:ks8995
    alias:          of:N*T*Cmicrel,ksz8795C*
    alias:          of:N*T*Cmicrel,ksz8795
    alias:          of:N*T*Cmicrel,ksz8864C*
    alias:          of:N*T*Cmicrel,ksz8864
    alias:          of:N*T*Cmicrel,ks8995C*
    alias:          of:N*T*Cmicrel,ks8995
    
    Reported-by: Javier Martinez Canillas <javier@dowhile0.org>
    Signed-off-by: Daniel Gomez <dagmcr@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b561af36b1841088552464cdc3f6371d92f17710
Author: Vinod Koul <vkoul@kernel.org>
Date:   Mon Apr 22 15:15:32 2019 +0530

    net: stmmac: move stmmac_check_ether_addr() to driver probe
    
    stmmac_check_ether_addr() checks the MAC address and assigns one in
    driver open(). In many cases when we create slave netdevice, the dev
    addr is inherited from master but the master dev addr maybe NULL at
    that time, so move this call to driver probe so that address is
    always valid.
    
    Signed-off-by: Xiaofei Shen <xiaofeis@codeaurora.org>
    Tested-by: Xiaofei Shen <xiaofeis@codeaurora.org>
    Signed-off-by: Sneh Shah <snehshah@codeaurora.org>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f456458e4d25a8962d0946891617c76cc3ff5fb9
Author: Jeff Layton <jlayton@kernel.org>
Date:   Mon Apr 22 12:34:24 2019 -0400

    nfsd: wake blocked file lock waiters before sending callback
    
    When a blocked NFS lock is "awoken" we send a callback to the server and
    then wake any hosts waiting on it. If a client attempts to get a lock
    and then drops off the net, we could end up waiting for a long time
    until we end up waking locks blocked on that request.
    
    So, wake any other waiting lock requests before sending the callback.
    Do this by calling locks_delete_block in a new "prepare" phase for
    CB_NOTIFY_LOCK callbacks.
    
    URL: https://bugzilla.kernel.org/show_bug.cgi?id=203363
    Fixes: 16306a61d3b7 ("fs/locks: always delete_block after waiting.")
    Reported-by: Slawomir Pryczek <slawek1211@gmail.com>
    Cc: Neil Brown <neilb@suse.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>

commit 6aaafc43a4ecc5bc8a3f6a2811d5eddc996a97f3
Author: Jeff Layton <jlayton@kernel.org>
Date:   Mon Apr 22 12:34:23 2019 -0400

    nfsd: wake waiters blocked on file_lock before deleting it
    
    After a blocked nfsd file_lock request is deleted, knfsd will send a
    callback to the client and then free the request. Commit 16306a61d3b7
    ("fs/locks: always delete_block after waiting.") changed it such that
    locks_delete_block is always called on a request after it is awoken,
    but that patch missed fixing up blocked nfsd request handling.
    
    Call locks_delete_block on the block to wake up any locks still blocked
    on the nfsd lock request before freeing it. Some of its callers already
    do this however, so just remove those calls.
    
    URL: https://bugzilla.kernel.org/show_bug.cgi?id=203363
    Fixes: 16306a61d3b7 ("fs/locks: always delete_block after waiting.")
    Reported-by: Slawomir Pryczek <slawek1211@gmail.com>
    Cc: Neil Brown <neilb@suse.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Jeff Layton <jlayton@kernel.org>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>

commit d48668052b2603b6262459625c86108c493588dd
Author: Andrei Vagin <avagin@gmail.com>
Date:   Wed Apr 17 09:49:44 2019 -0700

    netfilter: fix nf_l4proto_log_invalid to log invalid packets
    
    It doesn't log a packet if sysctl_log_invalid isn't equal to protonum
    OR sysctl_log_invalid isn't equal to IPPROTO_RAW. This sentence is
    always true. I believe we need to replace OR to AND.
    
    Cc: Florian Westphal <fw@strlen.de>
    Fixes: c4f3db1595827 ("netfilter: conntrack: add and use nf_l4proto_log_invalid")
    Signed-off-by: Andrei Vagin <avagin@gmail.com>
    Acked-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 916f6efae62305796e012e7c3a7884a267cbacbf
Author: Florian Westphal <fw@strlen.de>
Date:   Wed Apr 17 02:17:23 2019 +0200

    netfilter: never get/set skb->tstamp
    
    setting net.netfilter.nf_conntrack_timestamp=1 breaks xmit with fq
    scheduler.  skb->tstamp might be "refreshed" using ktime_get_real(),
    but fq expects CLOCK_MONOTONIC.
    
    This patch removes all places in netfilter that check/set skb->tstamp:
    
    1. To fix the bogus "start" time seen with conntrack timestamping for
       outgoing packets, never use skb->tstamp and always use current time.
    2. In nfqueue and nflog, only use skb->tstamp for incoming packets,
       as determined by current hook (prerouting, input, forward).
    3. xt_time has to use system clock as well rather than skb->tstamp.
       We could still use skb->tstamp for prerouting/input/foward, but
       I see no advantage to make this conditional.
    
    Fixes: fb420d5d91c1 ("tcp/fq: move back to CLOCK_MONOTONIC")
    Cc: Eric Dumazet <edumazet@google.com>
    Reported-by: Michal Soltys <soltys@ziu.info>
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 7caa56f006e9d712b44f27b32520c66420d5cbc6
Author: Florian Westphal <fw@strlen.de>
Date:   Mon Apr 15 00:43:00 2019 +0200

    netfilter: ebtables: CONFIG_COMPAT: drop a bogus WARN_ON
    
    It means userspace gave us a ruleset where there is some other
    data after the ebtables target but before the beginning of the next rule.
    
    Fixes: 81e675c227ec ("netfilter: ebtables: add CONFIG_COMPAT support")
    Reported-by: syzbot+659574e7bcc7f7eb4df7@syzkaller.appspotmail.com
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 26d1b8586b4fe14814ff4fd471cfc56014359e59
Author: Corentin Labbe <clabbe@baylibre.com>
Date:   Sat Apr 20 16:43:01 2019 +0000

    Documentation: decnet: remove reference to CONFIG_DECNET_ROUTE_FWMARK
    
    CONFIG_DECNET_ROUTE_FWMARK was removed in commit 47dcf0cb1005 ("[NET]: Rethink mark field in struct flowi")
    Since nothing replace it (and nothindg need to replace it, simply remove
    it from documentation.
    
    Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 39420fe04f093c15e1674ef56dbae0df109738ec
Author: Corentin Labbe <clabbe@baylibre.com>
Date:   Sat Apr 20 18:14:33 2019 +0000

    dt-bindings: add an explanation for internal phy-mode
    
    When working on the Allwinner internal PHY, the first work was to use
    the "internal" mode, but some answer was made my mail on what are really
    internal mean for PHY.
    
    This patch write that in the doc.
    
    Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 12c7686111326148b4b5db189130522a4ad1be4a
Author: Jakub Kicinski <jakub.kicinski@netronome.com>
Date:   Fri Apr 19 16:52:19 2019 -0700

    net/tls: don't leak IV and record seq when offload fails
    
    When device refuses the offload in tls_set_device_offload_rx()
    it calls tls_sw_free_resources_rx() to clean up software context
    state.
    
    Unfortunately, tls_sw_free_resources_rx() does not free all
    the state tls_set_sw_offload() allocated - it leaks IV and
    sequence number buffers.  All other code paths which lead to
    tls_sw_release_resources_rx() (which tls_sw_free_resources_rx()
    calls) free those right before the call.
    
    Avoid the leak by moving freeing of iv and rec_seq into
    tls_sw_release_resources_rx().
    
    Fixes: 4799ac81e52a ("tls: Add rx inline crypto offload")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 62ef81d5632634d5e310ed25b9b940b2b6612b46
Author: Jakub Kicinski <jakub.kicinski@netronome.com>
Date:   Fri Apr 19 16:51:38 2019 -0700

    net/tls: avoid potential deadlock in tls_set_device_offload_rx()
    
    If device supports offload, but offload fails tls_set_device_offload_rx()
    will call tls_sw_free_resources_rx() which (unhelpfully) releases
    and reacquires the socket lock.
    
    For a small fix release and reacquire the device_offload_lock.
    
    Fixes: 4799ac81e52a ("tls: Add rx inline crypto offload")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 8c03557c3f25271e62e39154af66ebdd1b59c9ca
Author: Po-Hsu Lin <po-hsu.lin@canonical.com>
Date:   Fri Apr 19 19:01:13 2019 +0800

    selftests/net: correct the return value for run_afpackettests
    
    The run_afpackettests will be marked as passed regardless the return
    value of those sub-tests in the script:
        --------------------
        running psock_tpacket test
        --------------------
        [FAIL]
        selftests: run_afpackettests [PASS]
    
    Fix this by changing the return value for each tests.
    
    Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 925b0c841e066b488cc3a60272472b2c56300704
Author: Hangbin Liu <liuhangbin@gmail.com>
Date:   Fri Apr 19 14:31:00 2019 +0800

    team: fix possible recursive locking when add slaves
    
    If we add a bond device which is already the master of the team interface,
    we will hold the team->lock in team_add_slave() first and then request the
    lock in team_set_mac_address() again. The functions are called like:
    
    - team_add_slave()
     - team_port_add()
       - team_port_enter()
         - team_modeop_port_enter()
           - __set_port_dev_addr()
             - dev_set_mac_address()
               - bond_set_mac_address()
                 - dev_set_mac_address()
                   - team_set_mac_address
    
    Although team_upper_dev_link() would check the upper devices but it is
    called too late. Fix it by adding a checking before processing the slave.
    
    v2: Do not split the string in netdev_err()
    
    Fixes: 3d249d4ca7d0 ("net: introduce ethernet teaming device")
    Acked-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 30c04d796b693e22405c38e9b78e9a364e4c77e6
Author: Po-Hsu Lin <po-hsu.lin@canonical.com>
Date:   Thu Apr 18 19:57:25 2019 +0800

    selftests/net: correct the return value for run_netsocktests
    
    The run_netsocktests will be marked as passed regardless the actual test
    result from the ./socket:
    
        selftests: net: run_netsocktests
        ========================================
        --------------------
        running socket test
        --------------------
        [FAIL]
        ok 1..6 selftests: net: run_netsocktests [PASS]
    
    This is because the test script itself has been successfully executed.
    Fix this by exit 1 when the test failed.
    
    Signed-off-by: Po-Hsu Lin <po-hsu.lin@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit ace329f4ab3ba434be2adf618073c752d083b524
Author: Erez Alfasi <ereza@mellanox.com>
Date:   Thu Apr 11 10:41:03 2019 +0300

    net/mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query
    
    Querying EEPROM high pages data for SFP module is currently
    not supported by our driver and yet queried, resulting in
    invalid FW queries.
    
    Set the EEPROM ethtool data length to 256 for SFP module will
    limit the reading for page 0 only and prevent invalid FW queries.
    
    Fixes: bb64143eee8c ("net/mlx5e: Add ethtool support for dump module EEPROM")
    Signed-off-by: Erez Alfasi <ereza@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit d460c2718906252a2a69bc6f89b537071f792e6e
Author: Maxim Mikityanskiy <maximmi@mellanox.com>
Date:   Mon Apr 8 15:12:45 2019 +0300

    net/mlx5e: Fix the max MTU check in case of XDP
    
    MLX5E_XDP_MAX_MTU was calculated incorrectly. It didn't account for
    NET_IP_ALIGN and MLX5E_HW2SW_MTU, and it also misused MLX5_SKB_FRAG_SZ.
    This commit fixes the calculations and adds a brief explanation for the
    formula used.
    
    Fixes: a26a5bdf3ee2d ("net/mlx5e: Restrict the combination of large MTU and XDP")
    Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit 12fc512f5741443a03adde2ead20724da8ad550a
Author: Maxim Mikityanskiy <maximmi@mellanox.com>
Date:   Fri Mar 15 16:41:43 2019 +0200

    net/mlx5e: Fix use-after-free after xdp_return_frame
    
    xdp_return_frame releases the frame. It leads to releasing the page, so
    it's not allowed to access xdpi.xdpf->len after that, because xdpi.xdpf
    is at xdp->data_hard_start after convert_to_xdp_frame. This patch moves
    the memory access to precede the return of the frame.
    
    Fixes: 58b99ee3e3ebe ("net/mlx5e: Add support for XDP_REDIRECT in device-out side")
    Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

commit 36ad7022536e0c65f8baeeaa5efde11dec44808a
Author: Petr Štetiar <ynezz@true.cz>
Date:   Wed Apr 17 22:09:12 2019 +0200

    of_net: Fix residues after of_get_nvmem_mac_address removal
    
    I've discovered following discrepancy in the bindings/net/ethernet.txt
    documentation, where it states following:
    
     - nvmem-cells: phandle, reference to an nvmem node for the MAC address;
     - nvmem-cell-names: string, should be "mac-address" if nvmem is to be..
    
    which is actually misleading and confusing. There are only two ethernet
    drivers in the tree, cadence/macb and davinci which supports this
    properties.
    
    This nvmem-cell* properties were introduced in commit 9217e566bdee
    ("of_net: Implement of_get_nvmem_mac_address helper"), but
    commit afa64a72b862 ("of: net: kill of_get_nvmem_mac_address()")
    forget to properly clean up this parts.
    
    So this patch fixes the documentation by moving the nvmem-cell*
    properties at the appropriate places.  While at it, I've removed unused
    include as well.
    
    Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Fixes: afa64a72b862 ("of: net: kill of_get_nvmem_mac_address()")
    Signed-off-by: Petr Štetiar <ynezz@true.cz>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 9188d5ca454fd665145904267e726e9e8d122f5c
Author: Jakub Kicinski <jakub.kicinski@netronome.com>
Date:   Wed Apr 17 10:51:19 2019 -0700

    net/tls: fix refcount adjustment in fallback
    
    Unlike atomic_add(), refcount_add() does not deal well
    with a negative argument.  TLS fallback code reallocates
    the skb and is very likely to shrink the truesize, leading to:
    
    [  189.513254] WARNING: CPU: 5 PID: 0 at lib/refcount.c:81 refcount_add_not_zero_checked+0x15c/0x180
     Call Trace:
      refcount_add_checked+0x6/0x40
      tls_enc_skb+0xb93/0x13e0 [tls]
    
    Once wmem_allocated count saturates the application can no longer
    send data on the socket.  This is similar to Eric's fixes for GSO,
    TCP:
    commit 7ec318feeed1 ("tcp: gso: avoid refcount_t warning from tcp_gso_segment()")
    and UDP:
    commit 575b65bc5bff ("udp: avoid refcount_t saturation in __udp_gso_segment()").
    
    Unlike the GSO case, for TLS fallback it's likely that the skb has
    shrunk, so the "likely" annotation is the other way around (likely
    branch being "sub").
    
    Fixes: e8f69799810c ("net/tls: Add generic NIC offload infrastructure")
    Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: John Hurley <john.hurley@netronome.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit e0c1d14a1a3211dccf0540a6703ffbd5d2a75bdb
Author: Su Bao Cheng <baocheng.su@siemens.com>
Date:   Thu Apr 18 11:14:56 2019 +0200

    stmmac: pci: Adjust IOT2000 matching
    
    Since there are more IOT2040 variants with identical hardware but
    different asset tags, the asset tag matching should be adjusted to
    support them.
    
    For the board name "SIMATIC IOT2000", currently there are 2 types of
    hardware, IOT2020 and IOT2040. The IOT2020 is identified by its unique
    asset tag. Match on it first. If we then match on the board name only,
    we will catch all IOT2040 variants. In the future there will be no other
    devices with the "SIMATIC IOT2000" DMI board name but different
    hardware.
    
    Signed-off-by: Su Bao Cheng <baocheng.su@siemens.com>
    Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a7cf2cc3cd3622eae9d5619cdde56b4462398c7f
Author: Colin Ian King <colin.king@canonical.com>
Date:   Thu Apr 18 18:03:50 2019 +0100

    firestream: fix spelling mistake "tramsitted" -> "transmitted"
    
    There is a spelling mistake in a debug message. Fix it.
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d5f6db353829fe3867bbf9cd73fd8d631e2346f1
Author: Colin Ian King <colin.king@canonical.com>
Date:   Thu Apr 18 11:39:18 2019 +0100

    net: ipv6: addrlabel: fix spelling mistake "requewst" -> "request"
    
    There is a spelling mistake in a NL_SET_ERR_MSG_MOD error message,
    fix it.
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 151f0dddbbfe4c35c9c5b64873115aafd436af9d
Author: Amit Cohen <amitc@mellanox.com>
Date:   Thu Apr 18 07:14:16 2019 +0000

    mlxsw: spectrum: Fix autoneg status in ethtool
    
    If link is down and autoneg is set to on/off, the status in ethtool does
    not change.
    
    The reason is when the link is down the function returns with zero
    before changing autoneg value.
    
    Move the checking of link state (up/down) to be performed after setting
    autoneg value, in order to be sure that autoneg will change in any case.
    
    Fixes: 56ade8fe3fe1 ("mlxsw: spectrum: Add initial support for Spectrum ASIC")
    Signed-off-by: Amit Cohen <amitc@mellanox.com>
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Acked-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 1ab3030193d25878b3b1409060e1e0a879800c95
Author: Ido Schimmel <idosch@mellanox.com>
Date:   Thu Apr 18 07:14:14 2019 +0000

    mlxsw: pci: Reincrease PCI reset timeout
    
    During driver initialization the driver sends a reset to the device and
    waits for the firmware to signal that it is ready to continue.
    
    Commit d2f372ba0914 ("mlxsw: pci: Increase PCI SW reset timeout")
    increased the timeout to 13 seconds due to longer PHY calibration in
    Spectrum-2 compared to Spectrum-1.
    
    Recently it became apparent that this timeout is too short and therefore
    this patch increases it again to a safer limit that will be reduced in
    the future.
    
    Fixes: c3ab435466d5 ("mlxsw: spectrum: Extend to support Spectrum-2 ASIC")
    Fixes: d2f372ba0914 ("mlxsw: pci: Increase PCI SW reset timeout")
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Acked-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f476b3f809fa02f47af6333ed63715058c3fc348
Author: Petr Machata <petrm@mellanox.com>
Date:   Thu Apr 18 07:14:13 2019 +0000

    mlxsw: spectrum: Put MC TCs into DWRR mode
    
    Both Spectrum-1 and Spectrum-2 chips are currently configured such that
    pairs of TC n (which is used for UC traffic) and TC n+8 (which is used
    for MC traffic) are feeding into the same subgroup. Strict
    prioritization is configured between the two TCs, and by enabling
    MC-aware mode on the switch, the lower-numbered (UC) TCs are favored
    over the higher-numbered (MC) TCs.
    
    On Spectrum-2 however, there is an issue in configuration of the
    MC-aware mode. As a result, MC traffic is prioritized over UC traffic.
    To work around the issue, configure the MC TCs with DWRR mode (while
    keeping the UC TCs in strict mode).
    
    With this patch, the multicast-unicast arbitration results in the same
    behavior on both Spectrum-1 and Spectrum-2 chips.
    
    Fixes: 7b8195306694 ("mlxsw: spectrum: Configure MC-aware mode on mlxsw ports")
    Signed-off-by: Petr Machata <petrm@mellanox.com>
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit b257b48cd5830c5b1d0c347eb281f9c28056f881
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Mon Apr 15 14:37:34 2019 +0800

    crypto: lrw - Fix atomic sleep when walking skcipher
    
    When we perform a walk in the completion function, we need to ensure
    that it is atomic.
    
    Fixes: ac3c8f36c31d ("crypto: lrw - Do not use auxiliary buffer")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Acked-by: Ondrej Mosnacek <omosnace@redhat.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 44427c0fbc09b448b22410978a4ef6ee37599d25
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Mon Apr 15 14:35:19 2019 +0800

    crypto: xts - Fix atomic sleep when walking skcipher
    
    When we perform a walk in the completion function, we need to ensure
    that it is atomic.
    
    Reported-by: syzbot+6f72c20560060c98b566@syzkaller.appspotmail.com
    Fixes: 78105c7e769b ("crypto: xts - Drop use of auxiliary buffer")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Acked-by: Ondrej Mosnacek <omosnace@redhat.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

commit 27b141fc234a3670d21bd742c35d7205d03cbb3a
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Wed Apr 17 18:29:13 2019 +0200

    s390: ctcm: fix ctcm_new_device error return code
    
    clang points out that the return code from this function is
    undefined for one of the error paths:
    
    ../drivers/s390/net/ctcm_main.c:1595:7: warning: variable 'result' is used uninitialized whenever 'if' condition is true
          [-Wsometimes-uninitialized]
                    if (priv->channel[direction] == NULL) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../drivers/s390/net/ctcm_main.c:1638:9: note: uninitialized use occurs here
            return result;
                   ^~~~~~
    ../drivers/s390/net/ctcm_main.c:1595:3: note: remove the 'if' if its condition is always false
                    if (priv->channel[direction] == NULL) {
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../drivers/s390/net/ctcm_main.c:1539:12: note: initialize the variable 'result' to silence this warning
            int result;
                      ^
    
    Make it return -ENODEV here, as in the related failure cases.
    gcc has a known bug in underreporting some of these warnings
    when it has already eliminated the assignment of the return code
    based on some earlier optimization step.
    
    Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit d003d772e64df08af04ee63609d47169ee82ae0e
Author: Colin Ian King <colin.king@canonical.com>
Date:   Wed Apr 17 14:15:00 2019 +0100

    nfp: abm: fix spelling mistake "offseting" -> "offsetting"
    
    There are a couple of spelling mistakes in NL_SET_ERR_MSG_MOD error
    messages. Fix these.
    
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
    Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit f87db4dbd52f2f8a170a2b51cb0926221ca7c9e2
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Apr 17 09:49:39 2019 +0800

    net: stmmac: Use bfsize1 in ndesc_init_rx_desc
    
    gcc warn this:
    
    drivers/net/ethernet/stmicro/stmmac/norm_desc.c: In function ndesc_init_rx_desc:
    drivers/net/ethernet/stmicro/stmmac/norm_desc.c:138:6: warning: variable 'bfsize1' set but not used [-Wunused-but-set-variable]
    
    Like enh_desc_init_rx_desc, we should use bfsize1
    in ndesc_init_rx_desc to calculate 'p->des1'
    
    Fixes: 583e63614149 ("net: stmmac: use correct DMA buffer size in the RX descriptor")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Reviewed-by: Aaro Koskinen <aaro.koskinen@nokia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 19fad20d15a6494f47f85d869f00b11343ee5c78
Author: ZhangXiaoxu <zhangxiaoxu5@huawei.com>
Date:   Tue Apr 16 09:47:24 2019 +0800

    ipv4: set the tcp_min_rtt_wlen range from 0 to one day
    
    There is a UBSAN report as below:
    UBSAN: Undefined behaviour in net/ipv4/tcp_input.c:2877:56
    signed integer overflow:
    2147483647 * 1000 cannot be represented in type 'int'
    CPU: 3 PID: 0 Comm: swapper/3 Not tainted 5.1.0-rc4-00058-g582549e #1
    Call Trace:
     <IRQ>
     dump_stack+0x8c/0xba
     ubsan_epilogue+0x11/0x60
     handle_overflow+0x12d/0x170
     ? ttwu_do_wakeup+0x21/0x320
     __ubsan_handle_mul_overflow+0x12/0x20
     tcp_ack_update_rtt+0x76c/0x780
     tcp_clean_rtx_queue+0x499/0x14d0
     tcp_ack+0x69e/0x1240
     ? __wake_up_sync_key+0x2c/0x50
     ? update_group_capacity+0x50/0x680
     tcp_rcv_established+0x4e2/0xe10
     tcp_v4_do_rcv+0x22b/0x420
     tcp_v4_rcv+0xfe8/0x1190
     ip_protocol_deliver_rcu+0x36/0x180
     ip_local_deliver+0x15b/0x1a0
     ip_rcv+0xac/0xd0
     __netif_receive_skb_one_core+0x7f/0xb0
     __netif_receive_skb+0x33/0xc0
     netif_receive_skb_internal+0x84/0x1c0
     napi_gro_receive+0x2a0/0x300
     receive_buf+0x3d4/0x2350
     ? detach_buf_split+0x159/0x390
     virtnet_poll+0x198/0x840
     ? reweight_entity+0x243/0x4b0
     net_rx_action+0x25c/0x770
     __do_softirq+0x19b/0x66d
     irq_exit+0x1eb/0x230
     do_IRQ+0x7a/0x150
     common_interrupt+0xf/0xf
     </IRQ>
    
    It can be reproduced by:
      echo 2147483647 > /proc/sys/net/ipv4/tcp_min_rtt_wlen
    
    Fixes: f672258391b42 ("tcp: track min RTT using windowed min-filter")
    Signed-off-by: ZhangXiaoxu <zhangxiaoxu5@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit a1e8783db8e0d58891681bc1e6d9ada66eae8e20
Author: Petr Štetiar <ynezz@true.cz>
Date:   Fri Apr 12 23:08:32 2019 +0200

    MIPS: perf: ath79: Fix perfcount IRQ assignment
    
    Currently it's not possible to use perf on ath79 due to genirq flags
    mismatch happening on static virtual IRQ 13 which is used for
    performance counters hardware IRQ 5.
    
    On TP-Link Archer C7v5:
    
               CPU0
      2:          0      MIPS   2  ath9k
      4:        318      MIPS   4  19000000.eth
      7:      55034      MIPS   7  timer
      8:       1236      MISC   3  ttyS0
     12:          0      INTC   1  ehci_hcd:usb1
     13:          0  gpio-ath79   2  keys
     14:          0  gpio-ath79   5  keys
     15:         31  AR724X PCI    1  ath10k_pci
    
     $ perf top
     genirq: Flags mismatch irq 13. 00014c83 (mips_perf_pmu) vs. 00002003 (keys)
    
    On TP-Link Archer C7v4:
    
             CPU0
      4:          0      MIPS   4  19000000.eth
      5:       7135      MIPS   5  1a000000.eth
      7:      98379      MIPS   7  timer
      8:         30      MISC   3  ttyS0
     12:      90028      INTC   0  ath9k
     13:       5520      INTC   1  ehci_hcd:usb1
     14:       4623      INTC   2  ehci_hcd:usb2
     15:      32844  AR724X PCI    1  ath10k_pci
     16:          0  gpio-ath79  16  keys
     23:          0  gpio-ath79  23  keys
    
     $ perf top
     genirq: Flags mismatch irq 13. 00014c80 (mips_perf_pmu) vs. 00000080 (ehci_hcd:usb1)
    
    This problem is happening, because currently statically assigned virtual
    IRQ 13 for performance counters is not claimed during the initialization
    of MIPS PMU during the bootup, so the IRQ subsystem doesn't know, that
    this interrupt isn't available for further use.
    
    So this patch fixes the issue by simply booking hardware IRQ 5 for MIPS PMU.
    
    Tested-by: Kevin 'ldir' Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
    Signed-off-by: Petr Štetiar <ynezz@true.cz>
    Acked-by: John Crispin <john@phrozen.org>
    Acked-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Cc: linux-mips@vger.kernel.org
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Jason Cooper <jason@lakedaemon.net>

commit 79b4a9cf0e2ea8203ce777c8d5cfa86c71eae86e
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Tue Apr 9 16:53:55 2019 +0200

    MIPS: scall64-o32: Fix indirect syscall number load
    
    Commit 4c21b8fd8f14 (MIPS: seccomp: Handle indirect system calls (o32))
    added indirect syscall detection for O32 processes running on MIPS64,
    but it did not work correctly for big endian kernel/processes. The
    reason is that the syscall number is loaded from ARG1 using the lw
    instruction while this is a 64-bit value, so zero is loaded instead of
    the syscall number.
    
    Fix the code by using the ld instruction instead. When running a 32-bit
    processes on a 64 bit CPU, the values are properly sign-extended, so it
    ensures the value passed to syscall_trace_enter is correct.
    
    Recent systemd versions with seccomp enabled whitelist the getpid
    syscall for their internal  processes (e.g. systemd-journald), but call
    it through syscall(SYS_getpid). This fix therefore allows O32 big endian
    systems with a 64-bit kernel to run recent systemd versions.
    
    Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
    Cc: <stable@vger.kernel.org> # v3.15+
    Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org

commit 39036cd2727395c3369b1051005da74059a85317
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu Feb 28 13:59:19 2019 +0100

    arch: add pidfd and io_uring syscalls everywhere
    
    Add the io_uring and pidfd_send_signal system calls to all architectures.
    
    These system calls are designed to handle both native and compat tasks,
    so all entries are the same across architectures, only arm-compat and
    the generic tale still use an old format.
    
    Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
    Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> (s390)
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

commit 5bdac418f33f60b07a34e01e722889140ee8fac9
Author: Florian Westphal <fw@strlen.de>
Date:   Tue Apr 9 14:45:20 2019 +0200

    netfilter: nat: fix icmp id randomization
    
    Sven Auhagen reported that a 2nd ping request will fail if 'fully-random'
    mode is used.
    
    Reason is that if no proto information is given, min/max are both 0,
    so we set the icmp id to 0 instead of chosing a random value between
    0 and 65535.
    
    Update test case as well to catch this, without fix this yields:
    [..]
    ERROR: cannot ping ns1 from ns2 with ip masquerade fully-random (attempt 2)
    ERROR: cannot ping ns1 from ns2 with ipv6 masquerade fully-random (attempt 2)
    
    ... becaus 2nd ping clashes with existing 'id 0' icmp conntrack and gets
    dropped.
    
    Fixes: 203f2e78200c27e ("netfilter: nat: remove l4proto->unique_tuple")
    Reported-by: Sven Auhagen <sven.auhagen@voleatech.de>
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 33d1c018179d0a30c39cc5f1682b77867282694b
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Sat Apr 6 08:26:52 2019 +0300

    netfilter: nf_tables: prevent shift wrap in nft_chain_parse_hook()
    
    I believe that "hook->num" can be up to UINT_MAX.  Shifting more than
    31 bits would is undefined in C but in practice it would lead to shift
    wrapping.  That would lead to an array overflow in nf_tables_addchain():
    
            ops->hook       = hook.type->hooks[ops->hooknum];
    
    Fixes: fe19c04ca137 ("netfilter: nf_tables: remove nhooks field from struct nft_af_info")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 3c79107631db1f7fd32cf3f7368e4672004a3010
Author: Florian Westphal <fw@strlen.de>
Date:   Mon Apr 1 13:08:54 2019 +0200

    netfilter: ctnetlink: don't use conntrack/expect object addresses as id
    
    else, we leak the addresses to userspace via ctnetlink events
    and dumps.
    
    Compute an ID on demand based on the immutable parts of nf_conn struct.
    
    Another advantage compared to using an address is that there is no
    immediate re-use of the same ID in case the conntrack entry is freed and
    reallocated again immediately.
    
    Fixes: 3583240249ef ("[NETFILTER]: nf_conntrack_expect: kill unique ID")
    Fixes: 7f85f914721f ("[NETFILTER]: nf_conntrack: kill unique ID")
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 0261ea1bd1eb0da5c0792a9119b8655cf33c80a3
Author: Julian Anastasov <ja@ssi.bg>
Date:   Sun Mar 31 13:24:52 2019 +0300

    ipvs: do not schedule icmp errors from tunnels
    
    We can receive ICMP errors from client or from
    tunneling real server. While the former can be
    scheduled to real server, the latter should
    not be scheduled, they are decapsulated only when
    existing connection is found.
    
    Fixes: 6044eeffafbe ("ipvs: attempt to schedule icmp packets")
    Signed-off-by: Julian Anastasov <ja@ssi.bg>
    Signed-off-by: Simon Horman <horms@verge.net.au>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 8176c8332751bf27597488d6e45c9b8f530593bf
Author: Alexander Potapenko <glider@google.com>
Date:   Thu Mar 28 10:47:20 2019 +0100

    netfilter: conntrack: initialize ct->timeout
    
    KMSAN started reporting an error when accessing ct->timeout for the
    first time without initialization:
    
     BUG: KMSAN: uninit-value in __nf_ct_refresh_acct+0x1ae/0x470 net/netfilter/nf_conntrack_core.c:1765
     ...
     dump_stack+0x173/0x1d0 lib/dump_stack.c:113
     kmsan_report+0x131/0x2a0 mm/kmsan/kmsan.c:624
     __msan_warning+0x7a/0xf0 mm/kmsan/kmsan_instr.c:310
     __nf_ct_refresh_acct+0x1ae/0x470 net/netfilter/nf_conntrack_core.c:1765
     nf_ct_refresh_acct ./include/net/netfilter/nf_conntrack.h:201
     nf_conntrack_udp_packet+0xb44/0x1040 net/netfilter/nf_conntrack_proto_udp.c:122
     nf_conntrack_handle_packet net/netfilter/nf_conntrack_core.c:1605
     nf_conntrack_in+0x1250/0x26c9 net/netfilter/nf_conntrack_core.c:1696
     ...
     Uninit was created at:
     kmsan_save_stack_with_flags mm/kmsan/kmsan.c:205
     kmsan_internal_poison_shadow+0x92/0x150 mm/kmsan/kmsan.c:159
     kmsan_kmalloc+0xa9/0x130 mm/kmsan/kmsan_hooks.c:173
     kmem_cache_alloc+0x554/0xb10 mm/slub.c:2789
     __nf_conntrack_alloc+0x16f/0x690 net/netfilter/nf_conntrack_core.c:1342
     init_conntrack+0x6cb/0x2490 net/netfilter/nf_conntrack_core.c:1421
    
    Signed-off-by: Alexander Potapenko <glider@google.com>
    Fixes: cc16921351d8ba1 ("netfilter: conntrack: avoid same-timeout update")
    Cc: Florian Westphal <fw@strlen.de>
    Acked-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>

commit 1025ce75212bf06d93910297a03ed6a4d41d8213
Author: Florian Westphal <fw@strlen.de>
Date:   Mon Mar 25 23:11:54 2019 +0100

    netfilter: conntrack: don't set related state for different outer address
    
    Luca Moro says:
     ------
    The issue lies in the filtering of ICMP and ICMPv6 errors that include an
    inner IP datagra…
  • Loading branch information
akpm00 authored and hnaz committed Apr 26, 2019
1 parent 085b775 commit 9ed63b2
Show file tree
Hide file tree
Showing 103 changed files with 972 additions and 242 deletions.
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/net/davinci_emac.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ Required properties:
Optional properties:
- phy-handle: See ethernet.txt file in the same directory.
If absent, davinci_emac driver defaults to 100/FULL.
- nvmem-cells: phandle, reference to an nvmem node for the MAC address
- nvmem-cell-names: string, should be "mac-address" if nvmem is to be used
- ti,davinci-rmii-en: 1 byte, 1 means use RMII
- ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM?

Expand Down
5 changes: 2 additions & 3 deletions Documentation/devicetree/bindings/net/ethernet.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,14 @@ Documentation/devicetree/bindings/phy/phy-bindings.txt.
the boot program; should be used in cases where the MAC address assigned to
the device by the boot program is different from the "local-mac-address"
property;
- nvmem-cells: phandle, reference to an nvmem node for the MAC address;
- nvmem-cell-names: string, should be "mac-address" if nvmem is to be used;
- max-speed: number, specifies maximum speed in Mbit/s supported by the device;
- max-frame-size: number, maximum transfer unit (IEEE defined MTU), rather than
the maximum frame size (there's contradiction in the Devicetree
Specification).
- phy-mode: string, operation mode of the PHY interface. This is now a de-facto
standard property; supported values are:
* "internal"
* "internal" (Internal means there is not a standard bus between the MAC and
the PHY, something proprietary is being used to embed the PHY in the MAC.)
* "mii"
* "gmii"
* "sgmii"
Expand Down
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/net/macb.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ Required properties:
Optional elements: 'tsu_clk'
- clocks: Phandles to input clocks.

Optional properties:
- nvmem-cells: phandle, reference to an nvmem node for the MAC address
- nvmem-cell-names: string, should be "mac-address" if nvmem is to be used

Optional properties for PHY child node:
- reset-gpios : Should specify the gpio for phy reset
- magic-packet : If present, indicates that the hardware supports waking
Expand Down
2 changes: 0 additions & 2 deletions Documentation/networking/decnet.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ you'll need the following options as well...
CONFIG_DECNET_ROUTER (to be able to add/delete routes)
CONFIG_NETFILTER (will be required for the DECnet routing daemon)

CONFIG_DECNET_ROUTE_FWMARK is optional

Don't turn on SIOCGIFCONF support for DECnet unless you are really sure
that you need it, in general you won't and it can cause ifconfig to
malfunction.
Expand Down
1 change: 1 addition & 0 deletions Documentation/networking/ip-sysctl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,7 @@ tcp_min_rtt_wlen - INTEGER
minimum RTT when it is moved to a longer path (e.g., due to traffic
engineering). A longer window makes the filter more resistant to RTT
inflations such as transient congestion. The unit is seconds.
Possible values: 0 - 86400 (1 day)
Default: 300

tcp_moderate_rcvbuf - BOOLEAN
Expand Down
2 changes: 2 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -3121,6 +3121,7 @@ F: drivers/cpufreq/bmips-cpufreq.c
BROADCOM BMIPS MIPS ARCHITECTURE
M: Kevin Cernekee <cernekee@gmail.com>
M: Florian Fainelli <f.fainelli@gmail.com>
L: bcm-kernel-feedback-list@broadcom.com
L: linux-mips@vger.kernel.org
T: git git://github.com/broadcom/stblinux.git
S: Maintained
Expand Down Expand Up @@ -8707,6 +8708,7 @@ F: scripts/leaking_addresses.pl
LED SUBSYSTEM
M: Jacek Anaszewski <jacek.anaszewski@gmail.com>
M: Pavel Machek <pavel@ucw.cz>
R: Dan Murphy <dmurphy@ti.com>
L: linux-leds@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git
S: Maintained
Expand Down
4 changes: 4 additions & 0 deletions arch/alpha/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -463,3 +463,7 @@
532 common getppid sys_getppid
# all other architectures have common numbers for new syscall, alpha
# is the exception.
534 common pidfd_send_signal sys_pidfd_send_signal
535 common io_uring_setup sys_io_uring_setup
536 common io_uring_enter sys_io_uring_enter
537 common io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/arm/tools/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -437,3 +437,7 @@
421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
422 common futex_time64 sys_futex
423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
2 changes: 1 addition & 1 deletion arch/arm64/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
#define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE + 5)
#define __ARM_NR_COMPAT_END (__ARM_NR_COMPAT_BASE + 0x800)

#define __NR_compat_syscalls 424
#define __NR_compat_syscalls 428
#endif

#define __ARCH_WANT_SYS_CLONE
Expand Down
8 changes: 8 additions & 0 deletions arch/arm64/include/asm/unistd32.h
Original file line number Diff line number Diff line change
Expand Up @@ -866,6 +866,14 @@ __SYSCALL(__NR_rt_sigtimedwait_time64, compat_sys_rt_sigtimedwait_time64)
__SYSCALL(__NR_futex_time64, sys_futex)
#define __NR_sched_rr_get_interval_time64 423
__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval)
#define __NR_pidfd_send_signal 424
__SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal)
#define __NR_io_uring_setup 425
__SYSCALL(__NR_io_uring_setup, sys_io_uring_setup)
#define __NR_io_uring_enter 426
__SYSCALL(__NR_io_uring_enter, sys_io_uring_enter)
#define __NR_io_uring_register 427
__SYSCALL(__NR_io_uring_register, sys_io_uring_register)

/*
* Please add new compat syscalls above this comment and update
Expand Down
4 changes: 4 additions & 0 deletions arch/ia64/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -344,3 +344,7 @@
332 common pkey_free sys_pkey_free
333 common rseq sys_rseq
# 334 through 423 are reserved to sync up with other architectures
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/m68k/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -423,3 +423,7 @@
421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
422 common futex_time64 sys_futex
423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/microblaze/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -429,3 +429,7 @@
421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
422 common futex_time64 sys_futex
423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
6 changes: 0 additions & 6 deletions arch/mips/ath79/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -210,12 +210,6 @@ const char *get_system_type(void)
return ath79_sys_type;
}

int get_c0_perfcount_int(void)
{
return ATH79_MISC_IRQ(5);
}
EXPORT_SYMBOL_GPL(get_c0_perfcount_int);

unsigned int get_c0_compare_int(void)
{
return CP0_LEGACY_COMPARE_IRQ;
Expand Down
2 changes: 1 addition & 1 deletion arch/mips/kernel/scall64-o32.S
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ trace_a_syscall:
subu t1, v0, __NR_O32_Linux
move a1, v0
bnez t1, 1f /* __NR_syscall at offset 0 */
lw a1, PT_R4(sp) /* Arg1 for __NR_syscall case */
ld a1, PT_R4(sp) /* Arg1 for __NR_syscall case */
.set pop

1: jal syscall_trace_enter
Expand Down
4 changes: 4 additions & 0 deletions arch/mips/kernel/syscalls/syscall_n32.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -362,3 +362,7 @@
421 n32 rt_sigtimedwait_time64 compat_sys_rt_sigtimedwait_time64
422 n32 futex_time64 sys_futex
423 n32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
424 n32 pidfd_send_signal sys_pidfd_send_signal
425 n32 io_uring_setup sys_io_uring_setup
426 n32 io_uring_enter sys_io_uring_enter
427 n32 io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/mips/kernel/syscalls/syscall_n64.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -338,3 +338,7 @@
327 n64 rseq sys_rseq
328 n64 io_pgetevents sys_io_pgetevents
# 329 through 423 are reserved to sync up with other architectures
424 n64 pidfd_send_signal sys_pidfd_send_signal
425 n64 io_uring_setup sys_io_uring_setup
426 n64 io_uring_enter sys_io_uring_enter
427 n64 io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/mips/kernel/syscalls/syscall_o32.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -411,3 +411,7 @@
421 o32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
422 o32 futex_time64 sys_futex sys_futex
423 o32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
424 o32 pidfd_send_signal sys_pidfd_send_signal
425 o32 io_uring_setup sys_io_uring_setup
426 o32 io_uring_enter sys_io_uring_enter
427 o32 io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/parisc/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -420,3 +420,7 @@
421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
422 32 futex_time64 sys_futex sys_futex
423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/powerpc/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -505,3 +505,7 @@
421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
422 32 futex_time64 sys_futex sys_futex
423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/s390/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -426,3 +426,7 @@
421 32 rt_sigtimedwait_time64 - compat_sys_rt_sigtimedwait_time64
422 32 futex_time64 - sys_futex
423 32 sched_rr_get_interval_time64 - sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/sh/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -426,3 +426,7 @@
421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
422 common futex_time64 sys_futex
423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/sparc/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -469,3 +469,7 @@
421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
422 32 futex_time64 sys_futex sys_futex
423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
4 changes: 4 additions & 0 deletions arch/xtensa/kernel/syscalls/syscall.tbl
Original file line number Diff line number Diff line change
Expand Up @@ -394,3 +394,7 @@
421 common rt_sigtimedwait_time64 sys_rt_sigtimedwait
422 common futex_time64 sys_futex
423 common sched_rr_get_interval_time64 sys_sched_rr_get_interval
424 common pidfd_send_signal sys_pidfd_send_signal
425 common io_uring_setup sys_io_uring_setup
426 common io_uring_enter sys_io_uring_enter
427 common io_uring_register sys_io_uring_register
6 changes: 5 additions & 1 deletion crypto/lrw.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,12 @@ static void crypt_done(struct crypto_async_request *areq, int err)
{
struct skcipher_request *req = areq->data;

if (!err)
if (!err) {
struct rctx *rctx = skcipher_request_ctx(req);

rctx->subreq.base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
err = xor_tweak_post(req);
}

skcipher_request_complete(req, err);
}
Expand Down
6 changes: 5 additions & 1 deletion crypto/xts.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,12 @@ static void crypt_done(struct crypto_async_request *areq, int err)
{
struct skcipher_request *req = areq->data;

if (!err)
if (!err) {
struct rctx *rctx = skcipher_request_ctx(req);

rctx->subreq.base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
err = xor_tweak_post(req);
}

skcipher_request_complete(req, err);
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/atm/firestream.c
Original file line number Diff line number Diff line change
Expand Up @@ -1646,7 +1646,7 @@ static irqreturn_t fs_irq (int irq, void *dev_id)
}

if (status & ISR_TBRQ_W) {
fs_dprintk (FS_DEBUG_IRQ, "Data tramsitted!\n");
fs_dprintk (FS_DEBUG_IRQ, "Data transmitted!\n");
process_txdone_queue (dev, &dev->tx_relq);
}

Expand Down
12 changes: 5 additions & 7 deletions drivers/gpu/drm/i915/intel_fbdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -338,8 +338,8 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
bool *enabled, int width, int height)
{
struct drm_i915_private *dev_priv = to_i915(fb_helper->dev);
unsigned long conn_configured, conn_seq, mask;
unsigned int count = min(fb_helper->connector_count, BITS_PER_LONG);
unsigned long conn_configured, conn_seq;
int i, j;
bool *save_enabled;
bool fallback = true, ret = true;
Expand All @@ -357,9 +357,10 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
drm_modeset_backoff(&ctx);

memcpy(save_enabled, enabled, count);
conn_seq = GENMASK(count - 1, 0);
mask = GENMASK(count - 1, 0);
conn_configured = 0;
retry:
conn_seq = conn_configured;
for (i = 0; i < count; i++) {
struct drm_fb_helper_connector *fb_conn;
struct drm_connector *connector;
Expand All @@ -372,8 +373,7 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
if (conn_configured & BIT(i))
continue;

/* First pass, only consider tiled connectors */
if (conn_seq == GENMASK(count - 1, 0) && !connector->has_tile)
if (conn_seq == 0 && !connector->has_tile)
continue;

if (connector->status == connector_status_connected)
Expand Down Expand Up @@ -477,10 +477,8 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
conn_configured |= BIT(i);
}

if (conn_configured != conn_seq) { /* repeat until no more are found */
conn_seq = conn_configured;
if ((conn_configured & mask) != mask && conn_configured != conn_seq)
goto retry;
}

/*
* If the BIOS didn't enable everything it could, fall back to have the
Expand Down
4 changes: 4 additions & 0 deletions drivers/gpu/drm/virtio/virtgpu_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,14 @@ static struct drm_driver driver = {
#if defined(CONFIG_DEBUG_FS)
.debugfs_init = virtio_gpu_debugfs_init,
#endif
.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
.gem_prime_export = drm_gem_prime_export,
.gem_prime_import = drm_gem_prime_import,
.gem_prime_pin = virtgpu_gem_prime_pin,
.gem_prime_unpin = virtgpu_gem_prime_unpin,
.gem_prime_get_sg_table = virtgpu_gem_prime_get_sg_table,
.gem_prime_import_sg_table = virtgpu_gem_prime_import_sg_table,
.gem_prime_vmap = virtgpu_gem_prime_vmap,
.gem_prime_vunmap = virtgpu_gem_prime_vunmap,
.gem_prime_mmap = virtgpu_gem_prime_mmap,
Expand Down
4 changes: 4 additions & 0 deletions drivers/gpu/drm/virtio/virtgpu_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,10 @@ int virtio_gpu_object_wait(struct virtio_gpu_object *bo, bool no_wait);
/* virtgpu_prime.c */
int virtgpu_gem_prime_pin(struct drm_gem_object *obj);
void virtgpu_gem_prime_unpin(struct drm_gem_object *obj);
struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj);
struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
struct drm_device *dev, struct dma_buf_attachment *attach,
struct sg_table *sgt);
void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj);
void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
int virtgpu_gem_prime_mmap(struct drm_gem_object *obj,
Expand Down
12 changes: 12 additions & 0 deletions drivers/gpu/drm/virtio/virtgpu_prime.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,18 @@ void virtgpu_gem_prime_unpin(struct drm_gem_object *obj)
WARN_ONCE(1, "not implemented");
}

struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj)
{
return ERR_PTR(-ENODEV);
}

struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
struct drm_device *dev, struct dma_buf_attachment *attach,
struct sg_table *table)
{
return ERR_PTR(-ENODEV);
}

void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj)
{
struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj);
Expand Down
11 changes: 11 additions & 0 deletions drivers/irqchip/irq-ath79-misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,15 @@
#define AR71XX_RESET_REG_MISC_INT_ENABLE 4

#define ATH79_MISC_IRQ_COUNT 32
#define ATH79_MISC_PERF_IRQ 5

static int ath79_perfcount_irq;

int get_c0_perfcount_int(void)
{
return ath79_perfcount_irq;
}
EXPORT_SYMBOL_GPL(get_c0_perfcount_int);

static void ath79_misc_irq_handler(struct irq_desc *desc)
{
Expand Down Expand Up @@ -113,6 +122,8 @@ static void __init ath79_misc_intc_domain_init(
{
void __iomem *base = domain->host_data;

ath79_perfcount_irq = irq_create_mapping(domain, ATH79_MISC_PERF_IRQ);

/* Disable and clear all interrupts */
__raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_ENABLE);
__raw_writel(0, base + AR71XX_RESET_REG_MISC_INT_STATUS);
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/ethernet/atheros/atlx/atl1.c
Original file line number Diff line number Diff line change
Expand Up @@ -1721,7 +1721,7 @@ static void atl1_inc_smb(struct atl1_adapter *adapter)
adapter->soft_stats.scc += smb->tx_1_col;
adapter->soft_stats.mcc += smb->tx_2_col;
adapter->soft_stats.latecol += smb->tx_late_col;
adapter->soft_stats.tx_underun += smb->tx_underrun;
adapter->soft_stats.tx_underrun += smb->tx_underrun;
adapter->soft_stats.tx_trunc += smb->tx_trunc;
adapter->soft_stats.tx_pause += smb->tx_pause;

Expand Down Expand Up @@ -3179,7 +3179,7 @@ static struct atl1_stats atl1_gstrings_stats[] = {
{"tx_deferred_ok", ATL1_STAT(soft_stats.deffer)},
{"tx_single_coll_ok", ATL1_STAT(soft_stats.scc)},
{"tx_multi_coll_ok", ATL1_STAT(soft_stats.mcc)},
{"tx_underun", ATL1_STAT(soft_stats.tx_underun)},
{"tx_underrun", ATL1_STAT(soft_stats.tx_underrun)},
{"tx_trunc", ATL1_STAT(soft_stats.tx_trunc)},
{"tx_pause", ATL1_STAT(soft_stats.tx_pause)},
{"rx_pause", ATL1_STAT(soft_stats.rx_pause)},
Expand Down
Loading

0 comments on commit 9ed63b2

Please sign in to comment.