1. 22 Aug, 2018 2 commits
    • Jeremy Cline's avatar
      fs/quota: Fix spectre gadget in do_quotactl · 7b6924d9
      Jeremy Cline authored
      'type' is user-controlled, so sanitize it after the bounds check to
      avoid using it in speculative execution. This covers the following
      potential gadgets detected with the help of smatch:
      
      * fs/ext4/super.c:5741 ext4_quota_read() warn: potential spectre issue
        'sb_dqopt(sb)->files' [r]
      * fs/ext4/super.c:5778 ext4_quota_write() warn: potential spectre issue
        'sb_dqopt(sb)->files' [r]
      * fs/f2fs/super.c:1552 f2fs_quota_read() warn: potential spectre issue
        'sb_dqopt(sb)->files' [r]
      * fs/f2fs/super.c:1608 f2fs_quota_write() warn: potential spectre issue
        'sb_dqopt(sb)->files' [r]
      * fs/quota/dquot.c:412 mark_info_dirty() warn: potential spectre issue
        'sb_dqopt(sb)->info' [w]
      * fs/quota/dquot.c:933 dqinit_needed() warn: potential spectre issue
        'dquots' [r]
      * fs/quota/dquot.c:2112 dquot_commit_info() warn: potential spectre
        issue 'dqopt->ops' [r]
      * fs/quota/dquot.c:2362 vfs_load_quota_inode() warn: potential spectre
        issue 'dqopt->files' [w] (local cap)
      * fs/quota/dquot.c:2369 vfs_load_quota_inode() warn: potential spectre
        issue 'dqopt->ops' [w] (local cap)
      * fs/quota/dquot.c:2370 vfs_load_quota_inode() warn: potential spectre
        issue 'dqopt->info' [w] (local cap)
      * fs/quota/quota.c:110 quota_getfmt() warn: potential spectre issue
        'sb_dqopt(sb)->info' [r]
      * fs/quota/quota_v2.c:84 v2_check_quota_file() warn: potential spectre
        issue 'quota_magics' [w]
      * fs/quota/quota_v2.c:85 v2_check_quota_file() warn: potential spectre
        issue 'quota_versions' [w]
      * fs/quota/quota_v2.c:96 v2_read_file_info() warn: potential spectre
        issue 'dqopt->info' [r]
      * fs/quota/quota_v2.c:172 v2_write_file_info() warn: potential spectre
        issue 'dqopt->info' [r]
      
      Additionally, a quick inspection indicates there are array accesses with
      'type' in quota_on() and quota_off() functions which are also addressed
      by this.
      
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJeremy Cline <jcline@redhat.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      7b6924d9
    • Jeremy Cline's avatar
      fs/quota: Replace XQM_MAXQUOTAS usage with MAXQUOTAS · 64d9d138
      Jeremy Cline authored
      XQM_MAXQUOTAS and MAXQUOTAS are, it appears, equivalent. Replace all
      usage of XQM_MAXQUOTAS and remove it along with the unused XQM_*QUOTA
      definitions.
      Signed-off-by: default avatarJeremy Cline <jcline@redhat.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      64d9d138
  2. 21 Aug, 2018 1 commit
    • Eric Sandeen's avatar
      isofs: reject hardware sector size > 2048 bytes · 09a4e0be
      Eric Sandeen authored
      The largest block size supported by isofs is ISOFS_BLOCK_SIZE (2048), but
      isofs_fill_super calls sb_min_blocksize and sets the blocksize to the
      device's logical block size if it's larger than what we ended up with after
      option parsing.
      
      If for some reason we try to mount a hard 4k device as an isofs filesystem,
      we'll set opt.blocksize to 4096, and when we try to read the superblock
      we found via:
      
              block = iso_blknum << (ISOFS_BLOCK_BITS - s->s_blocksize_bits)
      
      with s_blocksize_bits greater than ISOFS_BLOCK_BITS, we'll have a negative
      shift and the bread will fail somewhat cryptically:
      
        isofs_fill_super: bread failed, dev=sda, iso_blknum=17, block=-2147483648
      
      It seems best to just catch and clearly reject mounts of such a device.
      Reported-by: default avatarBryan Gurney <bgurney@redhat.com>
      Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      09a4e0be
  3. 20 Aug, 2018 1 commit
    • Jan Kara's avatar
      fsnotify: fix false positive warning on inode delete · d3bc0fa8
      Jan Kara authored
      When inode is getting deleted and someone else holds reference to a mark
      attached to the inode, we just detach the connector from the inode. In
      that case fsnotify_put_mark() called from fsnotify_destroy_marks() will
      decide to recalculate mask for the inode and __fsnotify_recalc_mask()
      will WARN about invalid connector type:
      
      WARNING: CPU: 1 PID: 12015 at fs/notify/mark.c:139
      __fsnotify_recalc_mask+0x2d7/0x350 fs/notify/mark.c:139
      
      Actually there's no reason to warn about detached connector in
      __fsnotify_recalc_mask() so just silently skip updating the mask in such
      case.
      
      Reported-by: syzbot+c34692a51b9a6ca93540@syzkaller.appspotmail.com
      Fixes: 3ac70bfc ("fsnotify: add helper to get mask from connector")
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      d3bc0fa8
  4. 19 Aug, 2018 9 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 2ad0d526
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix races in IPVS, from Tan Hu.
      
       2) Missing unbind in matchall classifier, from Hangbin Liu.
      
       3) Missing act_ife action release, from Vlad Buslov.
      
       4) Cure lockdep splats in ila, from Cong Wang.
      
       5) veth queue leak on link delete, from Toshiaki Makita.
      
       6) Disable isdn's IIOCDBGVAR ioctl, it exposes kernel addresses. From
          Kees Cook.
      
       7) RCU usage fixup in XDP, from Tariq Toukan.
      
       8) Two TCP ULP fixes from Daniel Borkmann.
      
       9) r8169 needs REALTEK_PHY as a Kconfig dependency, from Heiner
          Kallweit.
      
      10) Always take tcf_lock with BH disabled, otherwise we can deadlock
          with rate estimator code paths. From Vlad Buslov.
      
      11) Don't use MSI-X on RTL8106e r8169 chips, they don't resume properly.
          From Jian-Hong Pan.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (41 commits)
        ip6_vti: fix creating fallback tunnel device for vti6
        ip_vti: fix a null pointer deferrence when create vti fallback tunnel
        r8169: don't use MSI-X on RTL8106e
        net: lan743x_ptp: convert to ktime_get_clocktai_ts64
        net: sched: always disable bh when taking tcf_lock
        ip6_vti: simplify stats handling in vti6_xmit
        bpf: fix redirect to map under tail calls
        r8169: add missing Kconfig dependency
        tools/bpf: fix bpf selftest test_cgroup_storage failure
        bpf, sockmap: fix sock_map_ctx_update_elem race with exist/noexist
        bpf, sockmap: fix map elem deletion race with smap_stop_sock
        bpf, sockmap: fix leakage of smap_psock_map_entry
        tcp, ulp: fix leftover icsk_ulp_ops preventing sock from reattach
        tcp, ulp: add alias for all ulp modules
        bpf: fix a rcu usage warning in bpf_prog_array_copy_core()
        samples/bpf: all XDP samples should unload xdp/bpf prog on SIGTERM
        net/xdp: Fix suspicious RCU usage warning
        net/mlx5e: Delete unneeded function argument
        Documentation: networking: ti-cpsw: correct cbs parameters for Eth1 100Mb
        isdn: Disable IIOCDBGVAR
        ...
      2ad0d526
    • Haishuang Yan's avatar
      ip6_vti: fix creating fallback tunnel device for vti6 · e2948e5a
      Haishuang Yan authored
      When set fb_tunnels_only_for_init_net to 1, don't create fallback tunnel
      device for vti6 when a new namespace is created.
      
      Tested:
      [root@builder2 ~]# modprobe ip6_tunnel
      [root@builder2 ~]# modprobe ip6_vti
      [root@builder2 ~]# echo 1 > /proc/sys/net/core/fb_tunnels_only_for_init_net
      [root@builder2 ~]# unshare -n
      [root@builder2 ~]# ip link
      1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group
      default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      Signed-off-by: default avatarHaishuang Yan <yanhaishuang@cmss.chinamobile.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e2948e5a
    • Haishuang Yan's avatar
      ip_vti: fix a null pointer deferrence when create vti fallback tunnel · cd1aa9c2
      Haishuang Yan authored
      After set fb_tunnels_only_for_init_net to 1, the itn->fb_tunnel_dev will
      be NULL and will cause following crash:
      
      [ 2742.849298] BUG: unable to handle kernel NULL pointer dereference at 0000000000000941
      [ 2742.851380] PGD 800000042c21a067 P4D 800000042c21a067 PUD 42aaed067 PMD 0
      [ 2742.852818] Oops: 0002 [#1] SMP PTI
      [ 2742.853570] CPU: 7 PID: 2484 Comm: unshare Kdump: loaded Not tainted 4.18.0-rc8+ #2
      [ 2742.855163] Hardware name: Fedora Project OpenStack Nova, BIOS seabios-1.7.5-11.el7 04/01/2014
      [ 2742.856970] RIP: 0010:vti_init_net+0x3a/0x50 [ip_vti]
      [ 2742.858034] Code: 90 83 c0 48 c7 c2 20 a1 83 c0 48 89 fb e8 6e 3b f6 ff 85 c0 75 22 8b 0d f4 19 00 00 48 8b 93 00 14 00 00 48 8b 14 ca 48 8b 12 <c6> 82 41 09 00 00 04 c6 82 38 09 00 00 45 5b c3 66 0f 1f 44 00 00
      [ 2742.861940] RSP: 0018:ffff9be28207fde0 EFLAGS: 00010246
      [ 2742.863044] RAX: 0000000000000000 RBX: ffff8a71ebed4980 RCX: 0000000000000013
      [ 2742.864540] RDX: 0000000000000000 RSI: 0000000000000013 RDI: ffff8a71ebed4980
      [ 2742.866020] RBP: ffff8a71ea717000 R08: ffffffffc083903c R09: ffff8a71ea717000
      [ 2742.867505] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8a71ebed4980
      [ 2742.868987] R13: 0000000000000013 R14: ffff8a71ea5b49c0 R15: 0000000000000000
      [ 2742.870473] FS:  00007f02266c9740(0000) GS:ffff8a71ffdc0000(0000) knlGS:0000000000000000
      [ 2742.872143] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 2742.873340] CR2: 0000000000000941 CR3: 000000042bc20006 CR4: 00000000001606e0
      [ 2742.874821] Call Trace:
      [ 2742.875358]  ops_init+0x38/0xf0
      [ 2742.876078]  setup_net+0xd9/0x1f0
      [ 2742.876789]  copy_net_ns+0xb7/0x130
      [ 2742.877538]  create_new_namespaces+0x11a/0x1d0
      [ 2742.878525]  unshare_nsproxy_namespaces+0x55/0xa0
      [ 2742.879526]  ksys_unshare+0x1a7/0x330
      [ 2742.880313]  __x64_sys_unshare+0xe/0x20
      [ 2742.881131]  do_syscall_64+0x5b/0x180
      [ 2742.881933]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      Reproduce:
      echo 1 > /proc/sys/net/core/fb_tunnels_only_for_init_net
      modprobe ip_vti
      unshare -n
      
      Fixes: 79134e6c ("net: do not create fallback tunnels for non-default namespaces")
      Cc: Eric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarHaishuang Yan <yanhaishuang@cmss.chinamobile.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cd1aa9c2
    • Jian-Hong Pan's avatar
      r8169: don't use MSI-X on RTL8106e · 7bb05b85
      Jian-Hong Pan authored
      Found the ethernet network on ASUS X441UAR doesn't come back on resume
      from suspend when using MSI-X.  The chip is RTL8106e - version 39.
      
      [   21.848357] libphy: r8169: probed
      [   21.848473] r8169 0000:02:00.0 eth0: RTL8106e, 0c:9d:92:32:67:b4, XID
      44900000, IRQ 127
      [   22.518860] r8169 0000:02:00.0 enp2s0: renamed from eth0
      [   29.458041] Generic PHY r8169-200:00: attached PHY driver [Generic
      PHY] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
      [   63.227398] r8169 0000:02:00.0 enp2s0: Link is Up - 100Mbps/Full -
      flow control off
      [  124.514648] Generic PHY r8169-200:00: attached PHY driver [Generic
      PHY] (mii_bus:phy_addr=r8169-200:00, irq=IGNORE)
      
      Here is the ethernet controller in detail:
      
      02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd.
      RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller [10ec:8136]
      (rev 07)
      	Subsystem: ASUSTeK Computer Inc. RTL810xE PCI Express Fast
      Ethernet controller [1043:200f]
      	Flags: bus master, fast devsel, latency 0, IRQ 16
      	I/O ports at e000 [size=256]
      	Memory at ef100000 (64-bit, non-prefetchable) [size=4K]
      	Memory at e0000000 (64-bit, prefetchable) [size=16K]
      	Capabilities: <access denied>
      	Kernel driver in use: r8169
      	Kernel modules: r8169
      
      Falling back to MSI fixes the issue.
      
      Fixes: 6c6aa15f ("r8169: improve interrupt handling")
      Signed-off-by: default avatarJian-Hong Pan <jian-hong@endlessm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7bb05b85
    • Arnd Bergmann's avatar
      net: lan743x_ptp: convert to ktime_get_clocktai_ts64 · 0b3e776e
      Arnd Bergmann authored
      timekeeping_clocktai64() has been renamed to ktime_get_clocktai_ts64()
      for consistency with the other ktime_get_* access functions.
      
      Rename the new caller that has come up as well.
      
      Question: this is the only ptp driver that sets the hardware time
      to the current system time in TAI. Why does it do that?
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0b3e776e
    • Vlad Buslov's avatar
      net: sched: always disable bh when taking tcf_lock · 653cd284
      Vlad Buslov authored
      Recently, ops->init() and ops->dump() of all actions were modified to
      always obtain tcf_lock when accessing private action state. Actions that
      don't depend on tcf_lock for synchronization with their data path use
      non-bh locking API. However, tcf_lock is also used to protect rate
      estimator stats in softirq context by timer callback.
      
      Change ops->init() and ops->dump() of all actions to disable bh when using
      tcf_lock to prevent deadlock reported by following lockdep warning:
      
      [  105.470398] ================================
      [  105.475014] WARNING: inconsistent lock state
      [  105.479628] 4.18.0-rc8+ #664 Not tainted
      [  105.483897] --------------------------------
      [  105.488511] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
      [  105.494871] swapper/16/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
      [  105.500449] 00000000f86c012e (&(&p->tcfa_lock)->rlock){+.?.}, at: est_fetch_counters+0x3c/0xa0
      [  105.509696] {SOFTIRQ-ON-W} state was registered at:
      [  105.514925]   _raw_spin_lock+0x2c/0x40
      [  105.519022]   tcf_bpf_init+0x579/0x820 [act_bpf]
      [  105.523990]   tcf_action_init_1+0x4e4/0x660
      [  105.528518]   tcf_action_init+0x1ce/0x2d0
      [  105.532880]   tcf_exts_validate+0x1d8/0x200
      [  105.537416]   fl_change+0x55a/0x268b [cls_flower]
      [  105.542469]   tc_new_tfilter+0x748/0xa20
      [  105.546738]   rtnetlink_rcv_msg+0x56a/0x6d0
      [  105.551268]   netlink_rcv_skb+0x18d/0x200
      [  105.555628]   netlink_unicast+0x2d0/0x370
      [  105.559990]   netlink_sendmsg+0x3b9/0x6a0
      [  105.564349]   sock_sendmsg+0x6b/0x80
      [  105.568271]   ___sys_sendmsg+0x4a1/0x520
      [  105.572547]   __sys_sendmsg+0xd7/0x150
      [  105.576655]   do_syscall_64+0x72/0x2c0
      [  105.580757]   entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  105.586243] irq event stamp: 489296
      [  105.590084] hardirqs last  enabled at (489296): [<ffffffffb507e639>] _raw_spin_unlock_irq+0x29/0x40
      [  105.599765] hardirqs last disabled at (489295): [<ffffffffb507e745>] _raw_spin_lock_irq+0x15/0x50
      [  105.609277] softirqs last  enabled at (489292): [<ffffffffb413a6a3>] irq_enter+0x83/0xa0
      [  105.618001] softirqs last disabled at (489293): [<ffffffffb413a800>] irq_exit+0x140/0x190
      [  105.626813]
                     other info that might help us debug this:
      [  105.633976]  Possible unsafe locking scenario:
      
      [  105.640526]        CPU0
      [  105.643325]        ----
      [  105.646125]   lock(&(&p->tcfa_lock)->rlock);
      [  105.650747]   <Interrupt>
      [  105.653717]     lock(&(&p->tcfa_lock)->rlock);
      [  105.658514]
                      *** DEADLOCK ***
      
      [  105.665349] 1 lock held by swapper/16/0:
      [  105.669629]  #0: 00000000a640ad99 ((&est->timer)){+.-.}, at: call_timer_fn+0x10b/0x550
      [  105.678200]
                     stack backtrace:
      [  105.683194] CPU: 16 PID: 0 Comm: swapper/16 Not tainted 4.18.0-rc8+ #664
      [  105.690249] Hardware name: Supermicro SYS-2028TP-DECR/X10DRT-P, BIOS 2.0b 03/30/2017
      [  105.698626] Call Trace:
      [  105.701421]  <IRQ>
      [  105.703791]  dump_stack+0x92/0xeb
      [  105.707461]  print_usage_bug+0x336/0x34c
      [  105.711744]  mark_lock+0x7c9/0x980
      [  105.715500]  ? print_shortest_lock_dependencies+0x2e0/0x2e0
      [  105.721424]  ? check_usage_forwards+0x230/0x230
      [  105.726315]  __lock_acquire+0x923/0x26f0
      [  105.730597]  ? debug_show_all_locks+0x240/0x240
      [  105.735478]  ? mark_lock+0x493/0x980
      [  105.739412]  ? check_chain_key+0x140/0x1f0
      [  105.743861]  ? __lock_acquire+0x836/0x26f0
      [  105.748323]  ? lock_acquire+0x12e/0x290
      [  105.752516]  lock_acquire+0x12e/0x290
      [  105.756539]  ? est_fetch_counters+0x3c/0xa0
      [  105.761084]  _raw_spin_lock+0x2c/0x40
      [  105.765099]  ? est_fetch_counters+0x3c/0xa0
      [  105.769633]  est_fetch_counters+0x3c/0xa0
      [  105.773995]  est_timer+0x87/0x390
      [  105.777670]  ? est_fetch_counters+0xa0/0xa0
      [  105.782210]  ? lock_acquire+0x12e/0x290
      [  105.786410]  call_timer_fn+0x161/0x550
      [  105.790512]  ? est_fetch_counters+0xa0/0xa0
      [  105.795055]  ? del_timer_sync+0xd0/0xd0
      [  105.799249]  ? __lock_is_held+0x93/0x110
      [  105.803531]  ? mark_held_locks+0x20/0xe0
      [  105.807813]  ? _raw_spin_unlock_irq+0x29/0x40
      [  105.812525]  ? est_fetch_counters+0xa0/0xa0
      [  105.817069]  ? est_fetch_counters+0xa0/0xa0
      [  105.821610]  run_timer_softirq+0x3c4/0x9f0
      [  105.826064]  ? lock_acquire+0x12e/0x290
      [  105.830257]  ? __bpf_trace_timer_class+0x10/0x10
      [  105.835237]  ? __lock_is_held+0x25/0x110
      [  105.839517]  __do_softirq+0x11d/0x7bf
      [  105.843542]  irq_exit+0x140/0x190
      [  105.847208]  smp_apic_timer_interrupt+0xac/0x3b0
      [  105.852182]  apic_timer_interrupt+0xf/0x20
      [  105.856628]  </IRQ>
      [  105.859081] RIP: 0010:cpuidle_enter_state+0xd8/0x4d0
      [  105.864395] Code: 46 ff 48 89 44 24 08 0f 1f 44 00 00 31 ff e8 cf ec 46 ff 80 7c 24 07 00 0f 85 1d 02 00 00 e8 9f 90 4b ff fb 66 0f 1f 44 00 00 <4c> 8b 6c 24 08 4d 29 fd 0f 80 36 03 00 00 4c 89 e8 48 ba cf f7 53
      [  105.884288] RSP: 0018:ffff8803ad94fd20 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
      [  105.892494] RAX: 0000000000000000 RBX: ffffe8fb300829c0 RCX: ffffffffb41e19e1
      [  105.899988] RDX: 0000000000000007 RSI: dffffc0000000000 RDI: ffff8803ad9358ac
      [  105.907503] RBP: ffffffffb6636300 R08: 0000000000000004 R09: 0000000000000000
      [  105.914997] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000004
      [  105.922487] R13: ffffffffb6636140 R14: ffffffffb66362d8 R15: 000000188d36091b
      [  105.929988]  ? trace_hardirqs_on_caller+0x141/0x2d0
      [  105.935232]  do_idle+0x28e/0x320
      [  105.938817]  ? arch_cpu_idle_exit+0x40/0x40
      [  105.943361]  ? mark_lock+0x8c1/0x980
      [  105.947295]  ? _raw_spin_unlock_irqrestore+0x32/0x60
      [  105.952619]  cpu_startup_entry+0xc2/0xd0
      [  105.956900]  ? cpu_in_idle+0x20/0x20
      [  105.960830]  ? _raw_spin_unlock_irqrestore+0x32/0x60
      [  105.966146]  ? trace_hardirqs_on_caller+0x141/0x2d0
      [  105.971391]  start_secondary+0x2b5/0x360
      [  105.975669]  ? set_cpu_sibling_map+0x1330/0x1330
      [  105.980654]  secondary_startup_64+0xa5/0xb0
      
      Taking tcf_lock in sample action with bh disabled causes lockdep to issue a
      warning regarding possible irq lock inversion dependency between tcf_lock,
      and psample_groups_lock that is taken when holding tcf_lock in sample init:
      
      [  162.108959]  Possible interrupt unsafe locking scenario:
      
      [  162.116386]        CPU0                    CPU1
      [  162.121277]        ----                    ----
      [  162.126162]   lock(psample_groups_lock);
      [  162.130447]                                local_irq_disable();
      [  162.136772]                                lock(&(&p->tcfa_lock)->rlock);
      [  162.143957]                                lock(psample_groups_lock);
      [  162.150813]   <Interrupt>
      [  162.153808]     lock(&(&p->tcfa_lock)->rlock);
      [  162.158608]
                      *** DEADLOCK ***
      
      In order to prevent potential lock inversion dependency between tcf_lock
      and psample_groups_lock, extract call to psample_group_get() from tcf_lock
      protected section in sample action init function.
      
      Fixes: 4e232818 ("net: sched: act_mirred: remove dependency on rtnl lock")
      Fixes: 764e9a24 ("net: sched: act_vlan: remove dependency on rtnl lock")
      Fixes: 729e0126 ("net: sched: act_tunnel_key: remove dependency on rtnl lock")
      Fixes: d7728495 ("net: sched: act_sample: remove dependency on rtnl lock")
      Fixes: e8917f43 ("net: sched: act_gact: remove dependency on rtnl lock")
      Fixes: b6a2b971 ("net: sched: act_csum: remove dependency on rtnl lock")
      Fixes: 2142236b ("net: sched: act_bpf: remove dependency on rtnl lock")
      Signed-off-by: default avatarVlad Buslov <vladbu@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      653cd284
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · e61cf2e3
      Linus Torvalds authored
      Pull first set of KVM updates from Paolo Bonzini:
       "PPC:
         - minor code cleanups
      
        x86:
         - PCID emulation and CR3 caching for shadow page tables
         - nested VMX live migration
         - nested VMCS shadowing
         - optimized IPI hypercall
         - some optimizations
      
        ARM will come next week"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (85 commits)
        kvm: x86: Set highest physical address bits in non-present/reserved SPTEs
        KVM/x86: Use CC_SET()/CC_OUT in arch/x86/kvm/vmx.c
        KVM: X86: Implement PV IPIs in linux guest
        KVM: X86: Add kvm hypervisor init time platform setup callback
        KVM: X86: Implement "send IPI" hypercall
        KVM/x86: Move X86_CR4_OSXSAVE check into kvm_valid_sregs()
        KVM: x86: Skip pae_root shadow allocation if tdp enabled
        KVM/MMU: Combine flushing remote tlb in mmu_set_spte()
        KVM: vmx: skip VMWRITE of HOST_{FS,GS}_BASE when possible
        KVM: vmx: skip VMWRITE of HOST_{FS,GS}_SEL when possible
        KVM: vmx: always initialize HOST_{FS,GS}_BASE to zero during setup
        KVM: vmx: move struct host_state usage to struct loaded_vmcs
        KVM: vmx: compute need to reload FS/GS/LDT on demand
        KVM: nVMX: remove a misleading comment regarding vmcs02 fields
        KVM: vmx: rename __vmx_load_host_state() and vmx_save_host_state()
        KVM: vmx: add dedicated utility to access guest's kernel_gs_base
        KVM: vmx: track host_state.loaded using a loaded_vmcs pointer
        KVM: vmx: refactor segmentation code in vmx_save_host_state()
        kvm: nVMX: Fix fault priority for VMX operations
        kvm: nVMX: Fix fault vector for VMX operation at CPL > 0
        ...
      e61cf2e3
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-4.19-mw0' of... · 1009aa12
      Linus Torvalds authored
      Merge tag 'riscv-for-linus-4.19-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
      
      Pull RISC-V updates from Palmer Dabbelt:
       "This contains some major improvements to the RISC-V port, including
        the necessary interrupt controller and timer support to actually make
        it to userspace. Support for three devices has been added:
      
         - the ISA-mandated timers on RISC-V systems.
      
         - the ISA-mandated first-level interrupt controller on RISC-V
           systems, which is handled as part of our core arch code because
           it's very small and tightly tied to the ISA.
      
         - SiFive's platform-level interrupt controller, which talks to the
           actual devices.
      
        In addition to these new devices, there are a handful of cleanups all
        over the RISC-V tree:
      
         - build fixes for various configurations:
            * A fix to the vDSO build's makefile so it respects CFLAGS.
            * The addition of __lshrti3, a libgcc derived function necessary
              for some 32-bit configurations.
            * !SMP && PERF_EVENTS
      
         - Cleanups to the arch code to remove the remnants of old versions of
           the drivers that were just properly submitted.
            * Some dead code from the timer driver, most of which wasn't ever
              even compiled.
            * Cleanups of some interrupt #defines, which are now local to the
              interrupt handling code.
      
         - Fixes to ptrace(), which while not being sufficient to fully make
           GDB work are at least sufficient to get simple GDB tasks to work.
      
         - Early printk support via RISC-V's architecturally mandated SBI
           console device.
      
         - A fix to our early debug trap handler to ensure it's always
           aligned.
      
        These patches have all been through a fairly extensive review process,
        but as this enables a whole pile of functionality (ie, userspace) I'm
        confident we'll need to submit a few more patches. The only concrete
        issues I know about are the sys_riscv_flush_icache patches, but as I
        managed to screw those up on Friday I figured it'd be best to let them
        bake another week.
      
        This tag boots a Fedora root filesystem on QEMU's master branch for
        me, and before this morning's rebase (from 4.18-rc8 to 4.18) it booted
        on the HiFive Unleashed.
      
        Thanks to Christoph Hellwig and the other guys at WD for getting the
        new drivers in shape!"
      
      * tag 'riscv-for-linus-4.19-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
        dt-bindings: interrupt-controller: SiFive Plaform Level Interrupt Controller
        dt-bindings: interrupt-controller: RISC-V local interrupt controller
        RISC-V: Fix !CONFIG_SMP compilation error
        irqchip: add a SiFive PLIC driver
        RISC-V: Add the directive for alignment of stvec's value
        clocksource: new RISC-V SBI timer driver
        RISC-V: implement low-level interrupt handling
        RISC-V: add a definition for the SIE SEIE bit
        RISC-V: remove INTERRUPT_CAUSE_* defines from asm/irq.h
        RISC-V: simplify software interrupt / IPI code
        RISC-V: remove timer leftovers
        RISC-V: Add early printk support via the SBI console
        RISC-V: Don't increment sepc after breakpoint.
        RISC-V: implement __lshrti3.
        RISC-V: Use KBUILD_CFLAGS instead of KCFLAGS when building the vDSO
      1009aa12
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 1d0926e9
      Linus Torvalds authored
      Pull UIO fix from Greg KH:
       "Here is a single UIO fix that I forgot to send before 4.18-final came
        out. It reverts a UIO patch that went in the 4.18 development window
        that was causing problems.
      
        This patch has been in linux-next for a while with no problems, I just
        forgot to send it earlier, or as part of the larger char/misc patch
        series from yesterday, my fault"
      
      * tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        Revert "uio: use request_threaded_irq instead"
      1d0926e9
  5. 18 Aug, 2018 18 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 08b5fa81
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - a new driver for Rohm BU21029 touch controller
      
       - new bitmap APIs: bitmap_alloc, bitmap_zalloc and bitmap_free
      
       - updates to Atmel, eeti. pxrc and iforce drivers
      
       - assorted driver cleanups and fixes.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)
        MAINTAINERS: Add PhoenixRC Flight Controller Adapter
        Input: do not use WARN() in input_alloc_absinfo()
        Input: mark expected switch fall-throughs
        Input: raydium_i2c_ts - use true and false for boolean values
        Input: evdev - switch to bitmap API
        Input: gpio-keys - switch to bitmap_zalloc()
        Input: elan_i2c_smbus - cast sizeof to int for comparison
        bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free()
        md: Avoid namespace collision with bitmap API
        dm: Avoid namespace collision with bitmap API
        Input: pm8941-pwrkey - add resin entry
        Input: pm8941-pwrkey - abstract register offsets and event code
        Input: iforce - reorganize joystick configuration lists
        Input: atmel_mxt_ts - move completion to after config crc is updated
        Input: atmel_mxt_ts - don't report zero pressure from T9
        Input: atmel_mxt_ts - zero terminate config firmware file
        Input: atmel_mxt_ts - refactor config update code to add context struct
        Input: atmel_mxt_ts - config CRC may start at T71
        Input: atmel_mxt_ts - remove unnecessary debug on ENOMEM
        Input: atmel_mxt_ts - remove duplicate setup of ABS_MT_PRESSURE
        ...
      08b5fa81
    • Linus Torvalds's avatar
      Merge tag 'hwlock-v4.19' of git://github.com/andersson/remoteproc · 7f02e1ce
      Linus Torvalds authored
      Pull hwspinlock updates from Bjorn Andersson:
       "This introduces devres helpers and an API to request a lock by name,
        then migrates the sprd SPI driver to use these"
      
      * tag 'hwlock-v4.19' of git://github.com/andersson/remoteproc:
        hwspinlock: Fix incorrect return pointers
        spi: sprd: Change to use devm_hwspin_lock_request_specific()
        spi: sprd: Replace of_hwspin_lock_get_id() with of_hwspin_lock_get_id_byname()
        hwspinlock: Fix one comment mistake
        hwspinlock: Remove redundant config
        hwspinlock: Add devm_xxx() APIs to register/unregister one hwlock controller
        hwspinlock: Add devm_xxx() APIs to request/free hwlock
        hwspinlock: Add one new API to support getting a specific hwlock by the name
      7f02e1ce
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.19' of git://github.com/andersson/remoteproc · 9a96d63a
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This fixes a few compile and kerneldoc warnings, allows rpmsg devices
        to handle power domains, allow for labeling GLINK edges and supports
        compat for rpmsg_char"
      
      * tag 'rpmsg-v4.19' of git://github.com/andersson/remoteproc:
        rpmsg: Add compat ioctl for rpmsg char driver
        rpmsg: glink: Store edge name for glink device
        dt-bindings: soc: qcom: Add label for GLINK bindings
        rpmsg: core: add support to power domains for devices
        rpmsg: smd: fix kerneldoc warnings
        rpmsg: glink: Fix various kerneldoc warnings.
        rpmsg: glink: correctly annotate intent members
        rpmsg: smd: Add missing include of sizes.h
      9a96d63a
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.19' of git://github.com/andersson/remoteproc · c54fc865
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This adds support for pre-start and post-shutdown hooks for remoteproc
        subdevices, refactors the Qualcomm Hexagon support to allow reuse
        between several drivers, makes authentication in the MDT file loader
        optional, migrates a few format strings to use %pK and migrates the
        Davinci driver to use the reset framework"
      
      * tag 'rproc-v4.19' of git://github.com/andersson/remoteproc:
        remoteproc/davinci: use the reset framework
        remoteproc/davinci: Mark error recovery as disabled
        remoteproc: st_slim: replace "%p" with "%pK"
        remoteproc: replace "%p" with "%pK"
        remoteproc: qcom: fix Q6V5_WCSS dependencies
        remoteproc: Reset table_ptr in rproc_start() failure paths
        remoteproc: qcom: q6v5-pil: fix modem hang on SDM845 after axis2 clk unvote
        remoteproc: qcom q6v5: fix modular build
        remoteproc: Introduce prepare and unprepare for subdevices
        remoteproc: rename subdev probe and remove functions
        remoteproc: Make client initialize ops in rproc_subdev
        remoteproc: Make start and stop in subdev optional
        remoteproc: Rename subdev functions to start/stop
        remoteproc: qcom: Introduce Hexagon V5 based WCSS driver
        remoteproc: qcom: q6v5-pil: Use common q6v5 helpers
        remoteproc: qcom: adsp: Use common q6v5 helpers
        remoteproc: q6v5: Extract common resource handling
        remoteproc: qcom: mdt_loader: Make the firmware authentication optional
      c54fc865
    • Linus Torvalds's avatar
      Merge tag 'linux-watchdog-4.19-rc1' of git://www.linux-watchdog.org/linux-watchdog · 6eaac34f
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
      
       - add MEN 16z069 IP-Core driver
      
       - renesas-wdt: add support for the R8A77990 wdt
      
       - stm32_iwdg: Add stm32mp1 support and pclk feature
      
       - sp805_wdt, orion_wdt, sprd_wdt: several improvements
      
       - imx2_wdt, stmp3xxx: switch to SPDX identifier
      
      * tag 'linux-watchdog-4.19-rc1' of git://www.linux-watchdog.org/linux-watchdog:
        watchdog: fix dependencies of menz69_wdt.o
        watchdog: sp805: Add clock-frequency property
        watchdog: add driver for the MEN 16z069 IP-Core
        watchdog: sprd_wdt: Remove redundant dev_err call in sprd_wdt_probe()
        watchdog: stmp3xxx: Switch to SPDX identifier
        watchdog: imx2_wdt: Switch to SPDX identifier
        watchdog: sp805: set WDOG_HW_RUNNING when appropriate
        watchdog: sp805: add 'timeout-sec' DT property support
        dt-bindings: watchdog: Add optional 'timeout-sec' property for sp805
        dt-bindings: watchdog: Consolidate SP805 binding docs
        watchdog: orion_wdt: Mark watchdog as active when running at probe
        watchdog: stm32: add pclk feature for stm32mp1
        dt-bindings: watchdog: add stm32mp1 support
        dt-bindings: watchdog: renesas-wdt: Add support for the R8A77990 wdt
      6eaac34f
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.19-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 13bf2cf9
      Linus Torvalds authored
      Pull DMAengine updates from Vinod Koul:
       "This round brings couple of framework changes, a new driver and usual
        driver updates:
      
         - new managed helper for dmaengine framework registration
      
         - split dmaengine pause capability to pause and resume and allow
           drivers to report that individually
      
         - update dma_request_chan_by_mask() to handle deferred probing
      
         - move imx-sdma to use virt-dma
      
         - new driver for Actions Semi Owl family S900 controller
      
         - minor updates to intel, renesas, mv_xor, pl330 etc"
      
      * tag 'dmaengine-4.19-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (46 commits)
        dmaengine: Add Actions Semi Owl family S900 DMA driver
        dt-bindings: dmaengine: Add binding for Actions Semi Owl SoCs
        dmaengine: sh: rcar-dmac: Should not stop the DMAC by rcar_dmac_sync_tcr()
        dmaengine: mic_x100_dma: use the new helper to simplify the code
        dmaengine: add a new helper dmaenginem_async_device_register
        dmaengine: imx-sdma: add memcpy interface
        dmaengine: imx-sdma: add SDMA_BD_MAX_CNT to replace '0xffff'
        dmaengine: dma_request_chan_by_mask() to handle deferred probing
        dmaengine: pl330: fix irq race with terminate_all
        dmaengine: Revert "dmaengine: mv_xor_v2: enable COMPILE_TEST"
        dmaengine: mv_xor_v2: use {lower,upper}_32_bits to configure HW descriptor address
        dmaengine: mv_xor_v2: enable COMPILE_TEST
        dmaengine: mv_xor_v2: move unmap to before callback
        dmaengine: mv_xor_v2: convert callback to helper function
        dmaengine: mv_xor_v2: kill the tasklets upon exit
        dmaengine: mv_xor_v2: explicitly freeup irq
        dmaengine: sh: rcar-dmac: Add dma_pause operation
        dmaengine: sh: rcar-dmac: add a new function to clear CHCR.DE with barrier
        dmaengine: idma64: Support dmaengine_terminate_sync()
        dmaengine: hsu: Support dmaengine_terminate_sync()
        ...
      13bf2cf9
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · bbd60bff
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "Updates for MMC for v4.19.
      
        MMC core:
         - Add some fine-grained hooks to further support HS400 tuning
         - Improve error path for bus width setting for HS400es
         - Use a common method when checking R1 status
      
        MMC host:
         - renesas_sdhi: Add r8a77990 support
         - renesas_sdhi: Add eMMC HS400 mode support
         - tmio/renesas_sdhi: Improve tuning/clock management
         - tmio: Add eMMC HS400 mode support
         - sunxi: Add support for 3.3V eMMC DDR mode
         - mmci: Initial support to manage variant specific callbacks
         - sdhci: Don't try 3.3V I/O voltage if not supported
         - sdhci-pci-dwc-mshc: Add driver to support Synopsys dwc mshc SDHCI PCI
         - sdhci-of-dwcmshc: Add driver to support Synopsys DWC MSHC SDHCI
         - sdhci-msm: Add support for new version sdcc V5
         - sdhci-pci-o2micro: Add support for O2 eMMC HS200 mode
         - sdhci-pci-o2micro: Add support for O2 hardware tuning
         - sdhci-pci-o2micro: Add MSI interrupt support for O2 SD host
         - sdhci-pci: Add support for Intel ICP
         - sdhci-tegra: Prevent ACMD23 and HS200 mode on Tegra 3
         - sdhci-tegra: Fix eMMC DDR52 mode
         - sdhci-tegra: Improve clock management
         - dw_mmc-rockchip: Document compatible string for px30
         - sdhci-esdhc-imx: Add support for 3.3V eMMC DDR mode
         - sdhci-of-esdhc: Set proper DMA mask for ls104x chips
         - sdhci-of-esdhc: Improve clock management
         - sdhci-of-arasan: Add a quirk to manage unstable clocks
         - dw_mmc-exynos: Address potential external abort during system resume
         - pxamci: Add support for common MMC DT bindings
         - pxamci: Several cleanups and improvements
         - pxamci: Merge immutable branch for pxa to switch to DMA slave maps"
      
      * tag 'mmc-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (56 commits)
        mmc: core: improve reasonableness of bus width setting for HS400es
        mmc: tmio: remove unneeded variable in tmio_mmc_start_command()
        mmc: renesas_sdhi: Fix sampling clock position selecting
        mmc: tmio: Fix tuning flow
        mmc: sunxi: remove output of virtual base address
        dt-bindings: mmc: rockchip-dw-mshc: add description for px30
        mmc: renesas_sdhi: Add r8a77990 support
        mmc: sunxi: allow 3.3V DDR when DDR is available
        mmc: mmci: Add and implement a ->dma_setup() callback for qcom dml
        mmc: mmci: Initial support to manage variant specific callbacks
        mmc: tegra: Force correct divider calculation on DDR50/52
        mmc: sdhci: Add MSI interrupt support for O2 SD host
        mmc: sdhci: Add support for O2 hardware tuning
        mmc: sdhci: Export sdhci tuning function symbol
        mmc: sdhci: Change O2 Host HS200 mode clock frequency to 200MHz
        mmc: sdhci: Add support for O2 eMMC HS200 mode
        mmc: tegra: Add and use tegra_sdhci_get_max_clock()
        mmc: sdhci-esdhc-imx: fix indent
        mmc: sdhci-esdhc-imx: disable clocks before changing frequency
        mmc: tegra: prevent ACMD23 on Tegra 3
        ...
      bbd60bff
    • Haishuang Yan's avatar
      ip6_vti: simplify stats handling in vti6_xmit · bb107456
      Haishuang Yan authored
      Same as ip_vti, use iptunnel_xmit_stats to updates stats in tunnel xmit
      code path.
      Signed-off-by: default avatarHaishuang Yan <yanhaishuang@cmss.chinamobile.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bb107456
    • Linus Torvalds's avatar
      pcmcia: remove long deprecated pcmcia_request_exclusive_irq() function · 30779715
      Linus Torvalds authored
      This function was created as a deprecated fallback case back in 2010 by
      commit eb14120f ("pcmcia: re-work pcmcia_request_irq()") for legacy
      cases.
      
      Actual in-kernel users haven't been around for a long while.  The last
      in-kernel user was apparently removed four years ago by commit
      5f5316fc ("am2150: Update nmclan_cs.c to use update PCMCIA API").
      
      Just remove it entirely.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      30779715
    • Linus Torvalds's avatar
      deprecate the '__deprecated' attribute warnings entirely and for good · 771c0353
      Linus Torvalds authored
      We haven't had lots of deprecation warnings lately, but the rdma use of
      it made them flare up again.
      
      They are not useful.  They annoy everybody, and nobody ever does
      anything about them, because it's always "somebody elses problem".  And
      when people start thinking that warnings are normal, they stop looking
      at them, and the real warnings that mean something go unnoticed.
      
      If you want to get rid of a function, just get rid of it.  Convert every
      user to the new world order.
      
      And if you can't do that, then don't annoy everybody else with your
      marking that says "I couldn't be bothered to fix this, so I'll just spam
      everybody elses build logs with warnings about my laziness".
      
      Make a kernelnewbies wiki page about things that could be cleaned up,
      write a blog post about it, or talk to people on the mailing lists.  But
      don't add warnings to the kernel build about cleanup that you think
      should happen but you aren't doing yourself.
      
      Don't.  Just don't.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      771c0353
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.19-rc1' of... · a18d783f
      Linus Torvalds authored
      Merge tag 'driver-core-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here are all of the driver core and related patches for 4.19-rc1.
      
        Nothing huge here, just a number of small cleanups and the ability to
        now stop the deferred probing after init happens.
      
        All of these have been in linux-next for a while with only a merge
        issue reported"
      
      * tag 'driver-core-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (21 commits)
        base: core: Remove WARN_ON from link dependencies check
        drivers/base: stop new probing during shutdown
        drivers: core: Remove glue dirs from sysfs earlier
        driver core: remove unnecessary function extern declare
        sysfs.h: fix non-kernel-doc comment
        PM / Domains: Stop deferring probe at the end of initcall
        iommu: Remove IOMMU_OF_DECLARE
        iommu: Stop deferring probe at end of initcalls
        pinctrl: Support stopping deferred probe after initcalls
        dt-bindings: pinctrl: add a 'pinctrl-use-default' property
        driver core: allow stopping deferred probe after init
        driver core: add a debugfs entry to show deferred devices
        sysfs: Fix internal_create_group() for named group updates
        base: fix order of OF initialization
        linux/device.h: fix kernel-doc notation warning
        Documentation: update firmware loader fallback reference
        kobject: Replace strncpy with memcpy
        drivers: base: cacheinfo: use OF property_read_u32 instead of get_property,read_number
        kernfs: Replace strncpy with memcpy
        device: Add #define dev_fmt similar to #define pr_fmt
        ...
      a18d783f
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · d5acba26
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the bit set of char/misc drivers for 4.19-rc1
      
        There is a lot here, much more than normal, seems like everyone is
        writing new driver subsystems these days... Anyway, major things here
        are:
      
         - new FSI driver subsystem, yet-another-powerpc low-level hardware
           bus
      
         - gnss, finally an in-kernel GPS subsystem to try to tame all of the
           crazy out-of-tree drivers that have been floating around for years,
           combined with some really hacky userspace implementations. This is
           only for GNSS receivers, but you have to start somewhere, and this
           is great to see.
      
        Other than that, there are new slimbus drivers, new coresight drivers,
        new fpga drivers, and loads of DT bindings for all of these and
        existing drivers.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (255 commits)
        android: binder: Rate-limit debug and userspace triggered err msgs
        fsi: sbefifo: Bump max command length
        fsi: scom: Fix NULL dereference
        misc: mic: SCIF Fix scif_get_new_port() error handling
        misc: cxl: changed asterisk position
        genwqe: card_base: Use true and false for boolean values
        misc: eeprom: assignment outside the if statement
        uio: potential double frees if __uio_register_device() fails
        eeprom: idt_89hpesx: clean up an error pointer vs NULL inconsistency
        misc: ti-st: Fix memory leak in the error path of probe()
        android: binder: Show extra_buffers_size in trace
        firmware: vpd: Fix section enabled flag on vpd_section_destroy
        platform: goldfish: Retire pdev_bus
        goldfish: Use dedicated macros instead of manual bit shifting
        goldfish: Add missing includes to goldfish.h
        mux: adgs1408: new driver for Analog Devices ADGS1408/1409 mux
        dt-bindings: mux: add adi,adgs1408
        Drivers: hv: vmbus: Cleanup synic memory free path
        Drivers: hv: vmbus: Remove use of slow_virt_to_phys()
        Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
        ...
      d5acba26
    • Linus Torvalds's avatar
      Merge tag 'staging-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 2475c515
      Linus Torvalds authored
      Pull staging and IIO updates from Greg KH:
       "Here are the big staging/iio patches for 4.19-rc1.
      
        Lots of churn here, with tons of cleanups happening in staging
        drivers, a removal of an old crypto driver that no one was using
        (skein), and the addition of some new IIO drivers. Also added was a
        "gasket" driver from Google that needs loads of work and the erofs
        filesystem.
      
        Even with adding all of the new drivers and a new filesystem, we are
        only adding about 1000 lines overall to the kernel linecount, which
        shows just how much cleanup happened, and how big the unused crypto
        driver was.
      
        All of these have been in the linux-next tree for a while now with no
        reported issues"
      
      * tag 'staging-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (903 commits)
        staging:rtl8192u: Remove unused macro definitions - Style
        staging:rtl8192u: Add spaces around '+' operator - Style
        staging:rtl8192u: Remove stale comment - Style
        staging: rtl8188eu: remove unused mp_custom_oid.h
        staging: fbtft: Add spaces around / - Style
        staging: fbtft: Erases some repetitive usage of function name - Style
        staging: fbtft: Adjust some empty-line problems - Style
        staging: fbtft: Removes one nesting level to help readability - Style
        staging: fbtft: Changes gamma table to define.
        staging: fbtft: A bit more information on dev_err.
        staging: fbtft: Fixes some alignment issues - Style
        staging: fbtft: Puts macro arguments in parenthesis to avoid precedence issues - Style
        staging: rtl8188eu: remove unused array dB_Invert_Table
        staging: rtl8188eu: remove whitespace, add missing blank line
        staging: rtl8188eu: use is_multicast_ether_addr in rtw_sta_mgt.c
        staging: rtl8188eu: remove whitespace - style
        staging: rtl8188eu: cleanup block comment - style
        staging: rtl8188eu: use is_multicast_ether_addr in rtl8188eu_xmit.c
        staging: rtl8188eu: use is_multicast_ether_addr in recv_linux.c
        staging: rtlwifi: refactor rtl_get_tcb_desc
        ...
      2475c515
    • Linus Torvalds's avatar
      Merge tag 'tty-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 336722eb
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here is the big tty and serial driver pull request for 4.19-rc1.
      
        It's not all that big, just a number of small serial driver updates
        and fixes, along with some better vt handling for unicode characters
        for those using braille terminals.
      
        All of these patches have been in linux-next for a long time with no
        reported issues"
      
      * tag 'tty-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (73 commits)
        tty: serial: 8250: Revert NXP SC16C2552 workaround
        serial: 8250_exar: Read INT0 from slave device, too
        tty: rocket: Fix possible buffer overwrite on register_PCI
        serial: 8250_dw: Add ACPI support for uart on Broadcom SoC
        serial: 8250_dw: always set baud rate in dw8250_set_termios
        dt-bindings: serial: Add binding for uartlite
        tty: serial: uartlite: Add support for suspend and resume
        tty: serial: uartlite: Add clock adaptation
        tty: serial: uartlite: Add structure for private data
        serial: sh-sci: Improve support for separate TEI and DRI interrupts
        serial: sh-sci: Remove SCIx_RZ_SCIFA_REGTYPE
        serial: sh-sci: Allow for compressed SCIF address
        serial: sh-sci: Improve interrupts description
        serial: 8250: Use cached port name directly in messages
        serial: 8250_exar: Drop unused variable in pci_xr17v35x_setup()
        vt: drop unused struct vt_struct
        vt: avoid a VLA in the unicode screen scroll function
        vt: add /dev/vcsu* to devices.txt
        vt: coherence validation code for the unicode screen buffer
        vt: selection: take screen contents from uniscr if available
        ...
      336722eb
    • Linus Torvalds's avatar
      Merge tag 'usb-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 5695d5d1
      Linus Torvalds authored
      Pull USB/PHY updates from Greg KH:
       "Here is the big USB and phy driver patch set for 4.19-rc1.
      
        Nothing huge but there was a lot of work that happened this
        development cycle:
      
         - lots of type-c work, with drivers graduating out of staging, and
           displayport support being added.
      
         - new PHY drivers
      
         - the normal collection of gadget driver updates and fixes
      
         - code churn to work on the urb handling path, using irqsave()
           everywhere in anticipation of making this codepath a lot simpler in
           the future.
      
         - usbserial driver fixes and reworks
      
         - other misc changes
      
        All of these have been in linux-next with no reported issues for a
        while"
      
      * tag 'usb-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (159 commits)
        USB: serial: pl2303: add a new device id for ATEN
        usb: renesas_usbhs: Kconfig: convert to SPDX identifiers
        usb: dwc3: gadget: Check MaxPacketSize from descriptor
        usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms
        usb: dwc2: Turn on uframe_sched on "amlogic" platforms
        usb: dwc2: Turn on uframe_sched on "his" platforms
        usb: dwc2: Turn on uframe_sched on "bcm" platforms
        usb: dwc2: gadget: ISOC's starting flow improvement
        usb: dwc2: Make dwc2_readl/writel functions endianness-agnostic.
        usb: dwc3: core: Enable AutoRetry feature in the controller
        usb: dwc3: Set default mode for dwc_usb31
        usb: gadget: udc: renesas_usb3: Add register of usb role switch
        usb: dwc2: replace ioread32/iowrite32_rep with dwc2_readl/writel_rep
        usb: dwc2: Modify dwc2_readl/writel functions prototype
        usb: dwc3: pci: Intel Merrifield can be host
        usb: dwc3: pci: Supply device properties via driver data
        arm64: dts: dwc3: description of incr burst type
        usb: dwc3: Enable undefined length INCR burst type
        usb: dwc3: add global soc bus configuration reg0
        usb: dwc3: Describe 'wakeup_work' field of struct dwc3_pci
        ...
      5695d5d1
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · 6e3bf9b0
      David S. Miller authored
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf 2018-08-18
      
      The following pull-request contains BPF updates for your *net* tree.
      
      The main changes are:
      
      1) Fix a BPF selftest failure in test_cgroup_storage due to rlimit
         restrictions, from Yonghong.
      
      2) Fix a suspicious RCU rcu_dereference_check() warning triggered
         from removing a device's XDP memory allocator by using the correct
         rhashtable lookup function, from Tariq.
      
      3) A batch of BPF sockmap and ULP fixes mainly fixing leaks and races
         as well as enforcing module aliases for ULPs. Another fix for BPF
         map redirect to make them work again with tail calls, from Daniel.
      
      4) Fix XDP BPF samples to unload their programs upon SIGTERM, from Jesper.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6e3bf9b0
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · 3fe49d69
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter/IPVS fixes for net
      
      The following patchset contains Netfilter/IPVS fixes for your net tree:
      
      1) Infinite loop in IPVS when net namespace is released, from
         Tan Hu.
      
      2) Do not show negative timeouts in ip_vs_conn by using the new
         jiffies_delta_to_msecs(), patches from Matteo Croce.
      
      3) Set F_IFACE flag for linklocal addresses in ip6t_rpfilter,
         from Florian Westphal.
      
      4) Fix overflow in set size allocation, from Taehee Yoo.
      
      5) Use netlink_dump_start() from ctnetlink to fix memleak from
         the error path, again from Florian.
      
      6) Register nfnetlink_subsys in last place, otherwise netns
         init path may lose race and see net->nft uninitialized data.
         This also reverts previous attempt to fix this by increase
         netns refcount, patches from Florian.
      
      7) Remove conntrack entries on layer 4 protocol tracker module
         removal, from Florian.
      
      8) Use GFP_KERNEL_ACCOUNT for xtables blob allocation, from
         Michal Hocko.
      
      9) Get tproxy documentation in sync with existing codebase,
         from Mate Eckl.
      
      10) Honor preset layer 3 protocol via ctx->family in the new nft_ct
          timeout infrastructure, from Harsha Sharma.
      
      11) Let uapi nfnetlink_osf.h compile standalone with no errors,
          from Dmitry V. Levin.
      
      12) Missing braces compilation warning in nft_tproxy, patch from
          Mate Eclk.
      
      13) Disregard bogus check to bail out on non-anonymous sets from
          the dynamic set update extension.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3fe49d69
    • Linus Torvalds's avatar
      Merge tag '9p-for-4.19-2' of git://github.com/martinetd/linux · 1f7a4c73
      Linus Torvalds authored
      Pull 9p updates from Dominique Martinet:
       "This contains mostly fixes (6 to be backported to stable) and a few
        changes, here is the breakdown:
      
         - rework how fids are attributed by replacing some custom tracking in
           a list by an idr
      
         - for packet-based transports (virtio/rdma) validate that the packet
           length matches what the header says
      
         - a few race condition fixes found by syzkaller
      
         - missing argument check when NULL device is passed in sys_mount
      
         - a few virtio fixes
      
         - some spelling and style fixes"
      
      * tag '9p-for-4.19-2' of git://github.com/martinetd/linux: (21 commits)
        net/9p/trans_virtio.c: add null terminal for mount tag
        9p/virtio: fix off-by-one error in sg list bounds check
        9p: fix whitespace issues
        9p: fix multiple NULL-pointer-dereferences
        fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed
        9p: validate PDU length
        net/9p/trans_fd.c: fix race by holding the lock
        net/9p/trans_fd.c: fix race-condition by flushing workqueue before the kfree()
        net/9p/virtio: Fix hard lockup in req_done
        net/9p/trans_virtio.c: fix some spell mistakes in comments
        9p/net: Fix zero-copy path in the 9p virtio transport
        9p: Embed wait_queue_head into p9_req_t
        9p: Replace the fidlist with an IDR
        9p: Change p9_fid_create calling convention
        9p: Fix comment on smp_wmb
        net/9p/client.c: version pointer uninitialized
        fs/9p/v9fs.c: fix spelling mistake "Uknown" -> "Unknown"
        net/9p: fix error path of p9_virtio_probe
        9p/net/protocol.c: return -ENOMEM when kmalloc() failed
        net/9p/client.c: add missing '\n' at the end of p9_debug()
        ...
      1f7a4c73
  6. 17 Aug, 2018 9 commits