1. 18 8月, 2018 2 次提交
    • D
      bpf: fix redirect to map under tail calls · f6069b9a
      Daniel Borkmann 提交于
      Commits 109980b8 ("bpf: don't select potentially stale ri->map
      from buggy xdp progs") and 7c300131 ("bpf: fix ri->map_owner
      pointer on bpf_prog_realloc") tried to mitigate that buggy programs
      using bpf_redirect_map() helper call do not leave stale maps behind.
      Idea was to add a map_owner cookie into the per CPU struct redirect_info
      which was set to prog->aux by the prog making the helper call as a
      proof that the map is not stale since the prog is implicitly holding
      a reference to it. This owner cookie could later on get compared with
      the program calling into BPF whether they match and therefore the
      redirect could proceed with processing the map safely.
      
      In (obvious) hindsight, this approach breaks down when tail calls are
      involved since the original caller's prog->aux pointer does not have
      to match the one from one of the progs out of the tail call chain,
      and therefore the xdp buffer will be dropped instead of redirected.
      A way around that would be to fix the issue differently (which also
      allows to remove related work in fast path at the same time): once
      the life-time of a redirect map has come to its end we use it's map
      free callback where we need to wait on synchronize_rcu() for current
      outstanding xdp buffers and remove such a map pointer from the
      redirect info if found to be present. At that time no program is
      using this map anymore so we simply invalidate the map pointers to
      NULL iff they previously pointed to that instance while making sure
      that the redirect path only reads out the map once.
      
      Fixes: 97f91a7c ("bpf: add bpf_redirect_map helper routine")
      Fixes: 109980b8 ("bpf: don't select potentially stale ri->map from buggy xdp progs")
      Reported-by: NSebastiano Miano <sebastiano.miano@polito.it>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NJohn Fastabend <john.fastabend@gmail.com>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      f6069b9a
    • Y
      tools/bpf: fix bpf selftest test_cgroup_storage failure · a85da34e
      Yonghong Song 提交于
      The bpf selftest test_cgroup_storage failed in one of
      our production test servers.
        # sudo ./test_cgroup_storage
        Failed to create map: Operation not permitted
      
      It turns out this is due to insufficient locked memory
      with system default 16KB.
      
      Similar to other self tests, let us arm the process
      with unlimited locked memory. With this change,
      the test passed.
        # sudo ./test_cgroup_storage
        test_cgroup_storage:PASS
      
      Fixes: 68cfa3ac ("selftests/bpf: add a cgroup storage test")
      Cc: Roman Gushchin <guro@fb.com>
      Signed-off-by: NYonghong Song <yhs@fb.com>
      Acked-by: NRoman Gushchin <guro@fb.com>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      a85da34e
  2. 17 8月, 2018 9 次提交
    • A
      Merge branch 'sockmap-ulp-fixes' · cbb2fb13
      Alexei Starovoitov 提交于
      Daniel Borkmann says:
      
      ====================
      Batch of various fixes related to BPF sockmap and ULP, including
      adding module alias to restrict module requests, races and memory
      leaks in sockmap code. For details please refer to the individual
      patches. Thanks!
      ====================
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      cbb2fb13
    • D
      bpf, sockmap: fix sock_map_ctx_update_elem race with exist/noexist · 585f5a62
      Daniel Borkmann 提交于
      The current code in sock_map_ctx_update_elem() allows for BPF_EXIST
      and BPF_NOEXIST map update flags. While on array-like maps this approach
      is rather uncommon, e.g. bpf_fd_array_map_update_elem() and others
      enforce map update flags to be BPF_ANY such that xchg() can be used
      directly, the current implementation in sock map does not guarantee
      that such operation with BPF_EXIST / BPF_NOEXIST is atomic.
      
      The initial test does a READ_ONCE(stab->sock_map[i]) to fetch the
      socket from the slot which is then tested for NULL / non-NULL. However
      later after __sock_map_ctx_update_elem(), the actual update is done
      through osock = xchg(&stab->sock_map[i], sock). Problem is that in
      the meantime a different CPU could have updated / deleted a socket
      on that specific slot and thus flag contraints won't hold anymore.
      
      I've been thinking whether best would be to just break UAPI and do
      an enforcement of BPF_ANY to check if someone actually complains,
      however trouble is that already in BPF kselftest we use BPF_NOEXIST
      for the map update, and therefore it might have been copied into
      applications already. The fix to keep the current behavior intact
      would be to add a map lock similar to the sock hash bucket lock only
      for covering the whole map.
      
      Fixes: 174a79ff ("bpf: sockmap with sk redirect support")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NJohn Fastabend <john.fastabend@gmail.com>
      Acked-by: NSong Liu <songliubraving@fb.com>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      585f5a62
    • D
      bpf, sockmap: fix map elem deletion race with smap_stop_sock · 166ab6f0
      Daniel Borkmann 提交于
      The smap_start_sock() and smap_stop_sock() are each protected under
      the sock->sk_callback_lock from their call-sites except in the case
      of sock_map_delete_elem() where we drop the old socket from the map
      slot. This is racy because the same sock could be part of multiple
      sock maps, so we run smap_stop_sock() in parallel, and given at that
      point psock->strp_enabled might be true on both CPUs, we might for
      example wrongly restore the sk->sk_data_ready / sk->sk_write_space.
      Therefore, hold the sock->sk_callback_lock as well on delete. Looks
      like 2f857d04 ("bpf: sockmap, remove STRPARSER map_flags and add
      multi-map support") had this right, but later on e9db4ef6 ("bpf:
      sockhash fix omitted bucket lock in sock_close") removed it again
      from delete leaving this smap_stop_sock() instance unprotected.
      
      Fixes: e9db4ef6 ("bpf: sockhash fix omitted bucket lock in sock_close")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NJohn Fastabend <john.fastabend@gmail.com>
      Acked-by: NSong Liu <songliubraving@fb.com>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      166ab6f0
    • D
      bpf, sockmap: fix leakage of smap_psock_map_entry · d40b0116
      Daniel Borkmann 提交于
      While working on sockmap I noticed that we do not always kfree the
      struct smap_psock_map_entry list elements which track psocks attached
      to maps. In the case of sock_hash_ctx_update_elem(), these map entries
      are allocated outside of __sock_map_ctx_update_elem() with their
      linkage to the socket hash table filled. In the case of sock array,
      the map entries are allocated inside of __sock_map_ctx_update_elem()
      and added with their linkage to the psock->maps. Both additions are
      under psock->maps_lock each.
      
      Now, we drop these elements from their psock->maps list in a few
      occasions: i) in sock array via smap_list_map_remove() when an entry
      is either deleted from the map from user space, or updated via
      user space or BPF program where we drop the old socket at that map
      slot, or the sock array is freed via sock_map_free() and drops all
      its elements; ii) for sock hash via smap_list_hash_remove() in exactly
      the same occasions as just described for sock array; iii) in the
      bpf_tcp_close() where we remove the elements from the list via
      psock_map_pop() and iterate over them dropping themselves from either
      sock array or sock hash; and last but not least iv) once again in
      smap_gc_work() which is a callback for deferring the work once the
      psock refcount hit zero and thus the socket is being destroyed.
      
      Problem is that the only case where we kfree() the list entry is
      in case iv), which at that point should have an empty list in
      normal cases. So in cases from i) to iii) we unlink the elements
      without freeing where they go out of reach from us. Hence fix is
      to properly kfree() them as well to stop the leakage. Given these
      are all handled under psock->maps_lock there is no need for deferred
      RCU freeing.
      
      I later also ran with kmemleak detector and it confirmed the finding
      as well where in the state before the fix the object goes unreferenced
      while after the patch no kmemleak report related to BPF showed up.
      
        [...]
        unreferenced object 0xffff880378eadae0 (size 64):
          comm "test_sockmap", pid 2225, jiffies 4294720701 (age 43.504s)
          hex dump (first 32 bytes):
            00 01 00 00 00 00 ad de 00 02 00 00 00 00 ad de  ................
            50 4d 75 5d 03 88 ff ff 00 00 00 00 00 00 00 00  PMu]............
          backtrace:
            [<000000005225ac3c>] sock_map_ctx_update_elem.isra.21+0xd8/0x210
            [<0000000045dd6d3c>] bpf_sock_map_update+0x29/0x60
            [<00000000877723aa>] ___bpf_prog_run+0x1e1f/0x4960
            [<000000002ef89e83>] 0xffffffffffffffff
        unreferenced object 0xffff880378ead240 (size 64):
          comm "test_sockmap", pid 2225, jiffies 4294720701 (age 43.504s)
          hex dump (first 32 bytes):
            00 01 00 00 00 00 ad de 00 02 00 00 00 00 ad de  ................
            00 44 75 5d 03 88 ff ff 00 00 00 00 00 00 00 00  .Du]............
          backtrace:
            [<000000005225ac3c>] sock_map_ctx_update_elem.isra.21+0xd8/0x210
            [<0000000030e37a3a>] sock_map_update_elem+0x125/0x240
            [<000000002e5ce36e>] map_update_elem+0x4eb/0x7b0
            [<00000000db453cc9>] __x64_sys_bpf+0x1f9/0x360
            [<0000000000763660>] do_syscall_64+0x9a/0x300
            [<00000000422a2bb2>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
            [<000000002ef89e83>] 0xffffffffffffffff
        [...]
      
      Fixes: e9db4ef6 ("bpf: sockhash fix omitted bucket lock in sock_close")
      Fixes: 54fedb42 ("bpf: sockmap, fix smap_list_map_remove when psock is in many maps")
      Fixes: 2f857d04 ("bpf: sockmap, remove STRPARSER map_flags and add multi-map support")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NJohn Fastabend <john.fastabend@gmail.com>
      Acked-by: NSong Liu <songliubraving@fb.com>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      d40b0116
    • D
      tcp, ulp: fix leftover icsk_ulp_ops preventing sock from reattach · 90545cdc
      Daniel Borkmann 提交于
      I found that in BPF sockmap programs once we either delete a socket
      from the map or we updated a map slot and the old socket was purged
      from the map that these socket can never get reattached into a map
      even though their related psock has been dropped entirely at that
      point.
      
      Reason is that tcp_cleanup_ulp() leaves the old icsk->icsk_ulp_ops
      intact, so that on the next tcp_set_ulp_id() the kernel returns an
      -EEXIST thinking there is still some active ULP attached.
      
      BPF sockmap is the only one that has this issue as the other user,
      kTLS, only calls tcp_cleanup_ulp() from tcp_v4_destroy_sock() whereas
      sockmap semantics allow dropping the socket from the map with all
      related psock state being cleaned up.
      
      Fixes: 1aa12bdf ("bpf: sockmap, add sock close() hook to remove socks")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NJohn Fastabend <john.fastabend@gmail.com>
      Acked-by: NSong Liu <songliubraving@fb.com>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      90545cdc
    • D
      tcp, ulp: add alias for all ulp modules · 037b0b86
      Daniel Borkmann 提交于
      Lets not turn the TCP ULP lookup into an arbitrary module loader as
      we only intend to load ULP modules through this mechanism, not other
      unrelated kernel modules:
      
        [root@bar]# cat foo.c
        #include <sys/types.h>
        #include <sys/socket.h>
        #include <linux/tcp.h>
        #include <linux/in.h>
      
        int main(void)
        {
            int sock = socket(PF_INET, SOCK_STREAM, 0);
            setsockopt(sock, IPPROTO_TCP, TCP_ULP, "sctp", sizeof("sctp"));
            return 0;
        }
      
        [root@bar]# gcc foo.c -O2 -Wall
        [root@bar]# lsmod | grep sctp
        [root@bar]# ./a.out
        [root@bar]# lsmod | grep sctp
        sctp                 1077248  4
        libcrc32c              16384  3 nf_conntrack,nf_nat,sctp
        [root@bar]#
      
      Fix it by adding module alias to TCP ULP modules, so probing module
      via request_module() will be limited to tcp-ulp-[name]. The existing
      modules like kTLS will load fine given tcp-ulp-tls alias, but others
      will fail to load:
      
        [root@bar]# lsmod | grep sctp
        [root@bar]# ./a.out
        [root@bar]# lsmod | grep sctp
        [root@bar]#
      
      Sockmap is not affected from this since it's either built-in or not.
      
      Fixes: 734942cc ("tcp: ULP infrastructure")
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      Acked-by: NJohn Fastabend <john.fastabend@gmail.com>
      Acked-by: NSong Liu <songliubraving@fb.com>
      Signed-off-by: NAlexei Starovoitov <ast@kernel.org>
      037b0b86
    • Y
      bpf: fix a rcu usage warning in bpf_prog_array_copy_core() · 965931e3
      Yonghong Song 提交于
      Commit 394e40a2 ("bpf: extend bpf_prog_array to store pointers
      to the cgroup storage") refactored the bpf_prog_array_copy_core()
      to accommodate new structure bpf_prog_array_item which contains
      bpf_prog array itself.
      
      In the old code, we had
         perf_event_query_prog_array():
           mutex_lock(...)
           bpf_prog_array_copy_call():
             prog = rcu_dereference_check(array, 1)->progs
             bpf_prog_array_copy_core(prog, ...)
           mutex_unlock(...)
      
      With the above commit, we had
         perf_event_query_prog_array():
           mutex_lock(...)
           bpf_prog_array_copy_call():
             bpf_prog_array_copy_core(array, ...):
               item = rcu_dereference(array)->items;
               ...
           mutex_unlock(...)
      
      The new code will trigger a lockdep rcu checking warning.
      The fix is to change rcu_dereference() to rcu_dereference_check()
      to prevent such a warning.
      
      Reported-by: syzbot+6e72317008eef84a216b@syzkaller.appspotmail.com
      Fixes: 394e40a2 ("bpf: extend bpf_prog_array to store pointers to the cgroup storage")
      Cc: Roman Gushchin <guro@fb.com>
      Signed-off-by: NYonghong Song <yhs@fb.com>
      Acked-by: NAlexei Starovoitov <ast@kernel.org>
      Acked-by: NRoman Gushchin <guro@fb.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      965931e3
    • J
      samples/bpf: all XDP samples should unload xdp/bpf prog on SIGTERM · 817b89be
      Jesper Dangaard Brouer 提交于
      It is common XDP practice to unload/deattach the XDP bpf program,
      when the XDP sample program is Ctrl-C interrupted (SIGINT) or
      killed (SIGTERM).
      
      The samples/bpf programs xdp_redirect_cpu and xdp_rxq_info,
      forgot to trap signal SIGTERM (which is the default signal used
      by the kill command).
      
      This was discovered by Red Hat QA, which automated scripts depend
      on killing the XDP sample program after a timeout period.
      
      Fixes: fad3917e ("samples/bpf: add cpumap sample program xdp_redirect_cpu")
      Fixes: 0fca931a ("samples/bpf: program demonstrating access to xdp_rxq_info")
      Reported-by: NJean-Tsung Hsiao <jhsiao@redhat.com>
      Signed-off-by: NJesper Dangaard Brouer <brouer@redhat.com>
      Acked-by: NYonghong Song <yhs@fb.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      817b89be
    • T
      net/xdp: Fix suspicious RCU usage warning · 21b172ee
      Tariq Toukan 提交于
      Fix the warning below by calling rhashtable_lookup_fast.
      Also, make some code movements for better quality and human
      readability.
      
      [  342.450870] WARNING: suspicious RCU usage
      [  342.455856] 4.18.0-rc2+ #17 Tainted: G           O
      [  342.462210] -----------------------------
      [  342.467202] ./include/linux/rhashtable.h:481 suspicious rcu_dereference_check() usage!
      [  342.476568]
      [  342.476568] other info that might help us debug this:
      [  342.476568]
      [  342.486978]
      [  342.486978] rcu_scheduler_active = 2, debug_locks = 1
      [  342.495211] 4 locks held by modprobe/3934:
      [  342.500265]  #0: 00000000e23116b2 (mlx5_intf_mutex){+.+.}, at:
      mlx5_unregister_interface+0x18/0x90 [mlx5_core]
      [  342.511953]  #1: 00000000ca16db96 (rtnl_mutex){+.+.}, at: unregister_netdev+0xe/0x20
      [  342.521109]  #2: 00000000a46e2c4b (&priv->state_lock){+.+.}, at: mlx5e_close+0x29/0x60
      [mlx5_core]
      [  342.531642]  #3: 0000000060c5bde3 (mem_id_lock){+.+.}, at: xdp_rxq_info_unreg+0x93/0x6b0
      [  342.541206]
      [  342.541206] stack backtrace:
      [  342.547075] CPU: 12 PID: 3934 Comm: modprobe Tainted: G           O      4.18.0-rc2+ #17
      [  342.556621] Hardware name: Dell Inc. PowerEdge R730/0H21J3, BIOS 1.5.4 10/002/2015
      [  342.565606] Call Trace:
      [  342.568861]  dump_stack+0x78/0xb3
      [  342.573086]  xdp_rxq_info_unreg+0x3f5/0x6b0
      [  342.578285]  ? __call_rcu+0x220/0x300
      [  342.582911]  mlx5e_free_rq+0x38/0xc0 [mlx5_core]
      [  342.588602]  mlx5e_close_channel+0x20/0x120 [mlx5_core]
      [  342.594976]  mlx5e_close_channels+0x26/0x40 [mlx5_core]
      [  342.601345]  mlx5e_close_locked+0x44/0x50 [mlx5_core]
      [  342.607519]  mlx5e_close+0x42/0x60 [mlx5_core]
      [  342.613005]  __dev_close_many+0xb1/0x120
      [  342.617911]  dev_close_many+0xa2/0x170
      [  342.622622]  rollback_registered_many+0x148/0x460
      [  342.628401]  ? __lock_acquire+0x48d/0x11b0
      [  342.633498]  ? unregister_netdev+0xe/0x20
      [  342.638495]  rollback_registered+0x56/0x90
      [  342.643588]  unregister_netdevice_queue+0x7e/0x100
      [  342.649461]  unregister_netdev+0x18/0x20
      [  342.654362]  mlx5e_remove+0x2a/0x50 [mlx5_core]
      [  342.659944]  mlx5_remove_device+0xe5/0x110 [mlx5_core]
      [  342.666208]  mlx5_unregister_interface+0x39/0x90 [mlx5_core]
      [  342.673038]  cleanup+0x5/0xbfc [mlx5_core]
      [  342.678094]  __x64_sys_delete_module+0x16b/0x240
      [  342.683725]  ? do_syscall_64+0x1c/0x210
      [  342.688476]  do_syscall_64+0x5a/0x210
      [  342.693025]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      
      Fixes: 8d5d8852 ("xdp: rhashtable with allocator ID to pointer mapping")
      Signed-off-by: NTariq Toukan <tariqt@mellanox.com>
      Suggested-by: NDaniel Borkmann <daniel@iogearbox.net>
      Cc: Jesper Dangaard Brouer <brouer@redhat.com>
      Acked-by: NJesper Dangaard Brouer <brouer@redhat.com>
      Signed-off-by: NDaniel Borkmann <daniel@iogearbox.net>
      21b172ee
  3. 16 8月, 2018 12 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 9a76aba0
      Linus Torvalds 提交于
      Pull networking updates from David Miller:
       "Highlights:
      
         - Gustavo A. R. Silva keeps working on the implicit switch fallthru
           changes.
      
         - Support 802.11ax High-Efficiency wireless in cfg80211 et al, From
           Luca Coelho.
      
         - Re-enable ASPM in r8169, from Kai-Heng Feng.
      
         - Add virtual XFRM interfaces, which avoids all of the limitations of
           existing IPSEC tunnels. From Steffen Klassert.
      
         - Convert GRO over to use a hash table, so that when we have many
           flows active we don't traverse a long list during accumluation.
      
         - Many new self tests for routing, TC, tunnels, etc. Too many
           contributors to mention them all, but I'm really happy to keep
           seeing this stuff.
      
         - Hardware timestamping support for dpaa_eth/fsl-fman from Yangbo Lu.
      
         - Lots of cleanups and fixes in L2TP code from Guillaume Nault.
      
         - Add IPSEC offload support to netdevsim, from Shannon Nelson.
      
         - Add support for slotting with non-uniform distribution to netem
           packet scheduler, from Yousuk Seung.
      
         - Add UDP GSO support to mlx5e, from Boris Pismenny.
      
         - Support offloading of Team LAG in NFP, from John Hurley.
      
         - Allow to configure TX queue selection based upon RX queue, from
           Amritha Nambiar.
      
         - Support ethtool ring size configuration in aquantia, from Anton
           Mikaev.
      
         - Support DSCP and flowlabel per-transport in SCTP, from Xin Long.
      
         - Support list based batching and stack traversal of SKBs, this is
           very exciting work. From Edward Cree.
      
         - Busyloop optimizations in vhost_net, from Toshiaki Makita.
      
         - Introduce the ETF qdisc, which allows time based transmissions. IGB
           can offload this in hardware. From Vinicius Costa Gomes.
      
         - Add parameter support to devlink, from Moshe Shemesh.
      
         - Several multiplication and division optimizations for BPF JIT in
           nfp driver, from Jiong Wang.
      
         - Lots of prepatory work to make more of the packet scheduler layer
           lockless, when possible, from Vlad Buslov.
      
         - Add ACK filter and NAT awareness to sch_cake packet scheduler, from
           Toke Høiland-Jørgensen.
      
         - Support regions and region snapshots in devlink, from Alex Vesker.
      
         - Allow to attach XDP programs to both HW and SW at the same time on
           a given device, with initial support in nfp. From Jakub Kicinski.
      
         - Add TLS RX offload and support in mlx5, from Ilya Lesokhin.
      
         - Use PHYLIB in r8169 driver, from Heiner Kallweit.
      
         - All sorts of changes to support Spectrum 2 in mlxsw driver, from
           Ido Schimmel.
      
         - PTP support in mv88e6xxx DSA driver, from Andrew Lunn.
      
         - Make TCP_USER_TIMEOUT socket option more accurate, from Jon
           Maxwell.
      
         - Support for templates in packet scheduler classifier, from Jiri
           Pirko.
      
         - IPV6 support in RDS, from Ka-Cheong Poon.
      
         - Native tproxy support in nf_tables, from Máté Eckl.
      
         - Maintain IP fragment queue in an rbtree, but optimize properly for
           in-order frags. From Peter Oskolkov.
      
         - Improvde handling of ACKs on hole repairs, from Yuchung Cheng"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1996 commits)
        bpf: test: fix spelling mistake "REUSEEPORT" -> "REUSEPORT"
        hv/netvsc: Fix NULL dereference at single queue mode fallback
        net: filter: mark expected switch fall-through
        xen-netfront: fix warn message as irq device name has '/'
        cxgb4: Add new T5 PCI device ids 0x50af and 0x50b0
        net: dsa: mv88e6xxx: missing unlock on error path
        rds: fix building with IPV6=m
        inet/connection_sock: prefer _THIS_IP_ to current_text_addr
        net: dsa: mv88e6xxx: bitwise vs logical bug
        net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd()
        ieee802154: hwsim: using right kind of iteration
        net: hns3: Add vlan filter setting by ethtool command -K
        net: hns3: Set tx ring' tc info when netdev is up
        net: hns3: Remove tx ring BD len register in hns3_enet
        net: hns3: Fix desc num set to default when setting channel
        net: hns3: Fix for phy link issue when using marvell phy driver
        net: hns3: Fix for information of phydev lost problem when down/up
        net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero
        net: hns3: Add support for serdes loopback selftest
        bnxt_en: take coredump_record structure off stack
        ...
      9a76aba0
    • G
      x86: i8259: Add missing include file · 0a957467
      Guenter Roeck 提交于
      i8259.h uses inb/outb and thus needs to include asm/io.h to avoid the
      following build error, as seen with x86_64:defconfig and CONFIG_SMP=n.
      
        In file included from drivers/rtc/rtc-cmos.c:45:0:
        arch/x86/include/asm/i8259.h: In function 'inb_pic':
        arch/x86/include/asm/i8259.h:32:24: error:
      	implicit declaration of function 'inb'
      
        arch/x86/include/asm/i8259.h: In function 'outb_pic':
        arch/x86/include/asm/i8259.h:45:2: error:
      	implicit declaration of function 'outb'
      Reported-by: NSebastian Gottschall <s.gottschall@dd-wrt.com>
      Suggested-by: NSebastian Gottschall <s.gottschall@dd-wrt.com>
      Fixes: 447ae316 ("x86: Don't include linux/irq.h from asm/hardirq.h")
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0a957467
    • L
      Merge tag 'kconfig-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · fa1b5d09
      Linus Torvalds 提交于
      Pull Kconfig consolidation from Masahiro Yamada:
       "Consolidation of Kconfig files by Christoph Hellwig.
      
        Move the source statements of arch-independent Kconfig files instead
        of duplicating the includes in every arch/$(SRCARCH)/Kconfig"
      
      * tag 'kconfig-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kconfig: add a Memory Management options" menu
        kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt
        kconfig: use a menu in arch/Kconfig to reduce clutter
        kconfig: include kernel/Kconfig.preempt from init/Kconfig
        Kconfig: consolidate the "Kernel hacking" menu
        kconfig: include common Kconfig files from top-level Kconfig
        kconfig: remove duplicate SWAP symbol defintions
        um: create a proper drivers Kconfig
        um: cleanup Kconfig files
        um: stop abusing KBUILD_KCONFIG
      fa1b5d09
    • L
      Merge tag 'kconfig-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 01f0e5cd
      Linus Torvalds 提交于
      Pull Kconfig updates from Masahiro Yamada:
      
       - show clearer error messages where pkg-config is needed, but not
         installed
      
       - rename SYMBOL_AUTO to SYMBOL_NO_WRITE to reflect its semantics
      
       - create all necessary directories by Kconfig tool itself instead of
         Makefile
      
       - update the .config unconditionally when syncconfig is invoked
      
       - use 'include' directive instead of '-include' where
         include/config/{auto,tristate}.conf is mandatory
      
       - do not try to update the .config when running install targets
      
       - add .DELETE_ON_ERROR to delete partially updated files
      
       - misc cleanups and fixes
      
      * tag 'kconfig-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kconfig: remove P_ENV property type
        kconfig: remove unused sym_get_env_prop() function
        kconfig: fix the rule of mainmenu_stmt symbol
        init/Kconfig: Use short unix-style option instead of --longname
        Kbuild: Makefile.modbuiltin: include auto.conf and tristate.conf mandatory
        kbuild: remove auto.conf from prerequisite of phony targets
        kbuild: do not update config for 'make kernelrelease'
        kbuild: do not update config when running install targets
        kbuild: add .DELETE_ON_ERROR special target
        kbuild: use 'include' directive to load auto.conf from top Makefile
        kconfig: allow all config targets to write auto.conf if missing
        kconfig: make syncconfig update .config regardless of sym_change_count
        kconfig: create directories needed for syncconfig by itself
        kconfig: remove unneeded directory generation from local*config
        kconfig: split out useful helpers in confdata.c
        kconfig: rename file_write_dep and move it to confdata.c
        kconfig: fix typos in description of "choice" in kconfig-language.txt
        kconfig: handle format string before calling conf_message_callback()
        kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE
        kconfig: check for pkg-config on make {menu,n,g,x}config
      01f0e5cd
    • L
      Merge tag 'kbuild-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · e026bcc5
      Linus Torvalds 提交于
      Pull Kbuild updates from Masahiro Yamada:
      
       - verify depmod is installed before modules_install
      
       - support build salt in case build ids must be unique between builds
      
       - allow users to specify additional host compiler flags via HOST*FLAGS,
         and rename internal variables to KBUILD_HOST*FLAGS
      
       - update buildtar script to drop vax support, add arm64 support
      
       - update builddeb script for better debarch support
      
       - document the pit-fall of if_changed usage
      
       - fix parallel build of UML with O= option
      
       - make 'samples' target depend on headers_install to fix build errors
      
       - remove deprecated host-progs variable
      
       - add a new coccinelle script for refcount_t vs atomic_t check
      
       - improve double-test coccinelle script
      
       - misc cleanups and fixes
      
      * tag 'kbuild-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (41 commits)
        coccicheck: return proper error code on fail
        Coccinelle: doubletest: reduce side effect false positives
        kbuild: remove deprecated host-progs variable
        kbuild: make samples really depend on headers_install
        um: clean up archheaders recipe
        kbuild: add %asm-generic to no-dot-config-targets
        um: fix parallel building with O= option
        scripts: Add Python 3 support to tracing/draw_functrace.py
        builddeb: Add automatic support for sh{3,4}{,eb} architectures
        builddeb: Add automatic support for riscv* architectures
        builddeb: Add automatic support for m68k architecture
        builddeb: Add automatic support for or1k architecture
        builddeb: Add automatic support for sparc64 architecture
        builddeb: Add automatic support for mips{,64}r6{,el} architectures
        builddeb: Add automatic support for mips64el architecture
        builddeb: Add automatic support for ppc64 and powerpcspe architectures
        builddeb: Introduce functions to simplify kconfig tests in set_debarch
        builddeb: Drop check for 32-bit s390
        builddeb: Change architecture detection fallback to use dpkg-architecture
        builddeb: Skip architecture detection when KBUILD_DEBARCH is set
        ...
      e026bcc5
    • L
      Merge tag 'gcc-plugin-cleanup-v4.19-rc1' of... · 7c7b562c
      Linus Torvalds 提交于
      Merge tag 'gcc-plugin-cleanup-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
      
      Pull gcc plugin cleanups from Kees Cook:
      
       - Kconfig and Makefile clean-ups (Masahiro Yamada, Kees Cook)
      
       - gcc-common.h definition clean-ups (Alexander Popov)
      
      * tag 'gcc-plugin-cleanup-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        gcc-plugins: Clean up the cgraph_create_edge* macros
        gcc-plugins: Regularize Makefile.gcc-plugins
        gcc-plugins: split out Kconfig entries to scripts/gcc-plugins/Kconfig
        gcc-plugins: remove unused GCC_PLUGIN_SUBDIR
      7c7b562c
    • L
      Merge tag 'printk-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · b125d903
      Linus Torvalds 提交于
      Pull printk updates from Petr Mladek:
      
       - Different vendors have a different expectation about a console
         quietness. Make it configurable to reduce bike-shedding about the
         upstream default
      
       - Decide about the message visibility when the message is stored. It
         avoids races caused by a delayed console handling
      
       - Always store printk() messages into the per-CPU buffers again in NMI.
         The only exception is when flushing trace log in panic(). There the
         risk of loosing messages is worth an eventual reordering
      
       - Handle invalid %pO printf modifiers correctly
      
       - Better handle %p printf modifier tests before crng is initialized
      
       - Some clean up
      
      * tag 'printk-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
        lib/vsprintf: Do not handle %pO[^F] as %px
        printk: Fix warning about unused suppress_message_printing
        printk/nmi: Prevent deadlock when accessing the main log buffer in NMI
        printk: Create helper function to queue deferred console handling
        printk: Split the code for storing a message into the log buffer
        printk: Clean up syslog_print_all()
        printk: Remove unnecessary kmalloc() from syslog during clear
        printk: Make CONSOLE_LOGLEVEL_QUIET configurable
        printk: make sure to print log on console.
        lib/test_printf.c: accept "ptrval" as valid result for plain 'p' tests
      b125d903
    • L
      Merge tag 'audit-pr-20180814' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 8c326850
      Linus Torvalds 提交于
      Pull audit patches from Paul Moore:
       "Twelve audit patches for v4.19 and they run the full gamut from fixes
        to features.
      
        Notable changes include the ability to use the "exe" audit filter
        field in a wider variety of filter types, a fix for our comparison of
        GID/EGID in audit filter rules, better association of related audit
        records (connecting related audit records together into one audit
        event), and a fix for a potential use-after-free in audit_add_watch().
      
        All the patches pass the audit-testsuite and merge cleanly on your
        current master branch"
      
      * tag 'audit-pr-20180814' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: fix use-after-free in audit_add_watch
        audit: use ktime_get_coarse_real_ts64() for timestamps
        audit: use ktime_get_coarse_ts64() for time access
        audit: simplify audit_enabled check in audit_watch_log_rule_change()
        audit: check audit_enabled in audit_tree_log_remove_rule()
        cred: conditionally declare groups-related functions
        audit: eliminate audit_enabled magic number comparison
        audit: rename FILTER_TYPE to FILTER_EXCLUDE
        audit: Fix extended comparison of GID/EGID
        audit: tie ANOM_ABEND records to syscall
        audit: tie SECCOMP records to syscall
        audit: allow other filter list types for AUDIT_EXE
      8c326850
    • L
      Merge tag 'selinux-pr-20180814' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 6f7dac11
      Linus Torvalds 提交于
      Pull SELinux updates from Paul Moore:
       "There are 16 patches in here but really only one that is of any
        significance. That one patch is by nixiaoming and fixes a few places
        where we were not properly cleaning up dentry and inode objects in the
        selinuxfs error handling code. The rest are either printk->pr_*
        conversions, constification tweaks, and a minor tweak to MAINTAINERS.
      
        Everything passes the selinux-testsuite and looks to merge cleanly
        against your master branch"
      
      * tag 'selinux-pr-20180814' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: cleanup dentry and inodes on error in selinuxfs
        selinux: constify write_op[]
        selinux: Cleanup printk logging in netnode
        selinux: Cleanup printk logging in avc
        selinux: Cleanup printk logging in netif
        selinux: Cleanup printk logging in netport
        selinux: Cleanup printk logging in sidtab
        selinux: Cleanup printk logging in netlink
        selinux: Cleanup printk logging in selinuxfs
        selinux: Cleanup printk logging in services
        selinux: Cleanup printk logging in avtab
        selinux: Cleanup printk logging in hooks
        selinux: Cleanup printk logging in policydb
        selinux: Cleanup printk logging in ebitmap
        selinux: Cleanup printk logging in conditional
        MAINTAINERS: update the LSM and SELinux subsystems
      6f7dac11
    • L
      Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 92d4a036
      Linus Torvalds 提交于
      Pull security subsystem updates from James Morris:
      
       - kstrdup() return value fix from Eric Biggers
      
       - Add new security_load_data hook to differentiate security checking of
         kernel-loaded binaries in the case of there being no associated file
         descriptor, from Mimi Zohar.
      
       - Add ability to IMA to specify a policy at build-time, rather than
         just via command line params or by loading a custom policy, from
         Mimi.
      
       - Allow IMA and LSMs to prevent sysfs firmware load fallback (e.g. if
         using signed firmware), from Mimi.
      
       - Allow IMA to deny loading of kexec kernel images, as they cannot be
         measured by IMA, from Mimi.
      
      * 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        security: check for kstrdup() failure in lsm_append()
        security: export security_kernel_load_data function
        ima: based on policy warn about loading firmware (pre-allocated buffer)
        module: replace the existing LSM hook in init_module
        ima: add build time policy
        ima: based on policy require signed firmware (sysfs fallback)
        firmware: add call to LSM hook before firmware sysfs fallback
        ima: based on policy require signed kexec kernel images
        kexec: add call to LSM hook in original kexec_load syscall
        security: define new LSM hook named security_kernel_load_data
        MAINTAINERS: remove the outdated "LINUX SECURITY MODULE (LSM) FRAMEWORK" entry
      92d4a036
    • G
      x86/l1tf: Fix build error seen if CONFIG_KVM_INTEL is disabled · 1eb46908
      Guenter Roeck 提交于
      allmodconfig+CONFIG_INTEL_KVM=n results in the following build error.
      
        ERROR: "l1tf_vmx_mitigation" [arch/x86/kvm/kvm.ko] undefined!
      
      Fixes: 5b76a3cf ("KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry")
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Cc: Meelis Roos <mroos@linux.ee>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1eb46908
    • L
      Merge tag 'pstore-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 3529b970
      Linus Torvalds 提交于
      Pull pstore update from Kees Cook:
       "This cycle has been very quiet for pstore: the only change is adding
        awareness of the zstd compression method"
      
      * tag 'pstore-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore: add zstd compression support
      3529b970
  4. 15 8月, 2018 17 次提交
    • L
      Merge tag 'hardened-usercopy-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 8c479c2c
      Linus Torvalds 提交于
      Pull hardened usercopy updates from Kees Cook:
       "This cleans up a minor Kconfig issue and adds a kernel boot option for
        disabling hardened usercopy for distro users that may have corner-case
        performance issues (e.g. high bandwidth small-packet UDP traffic).
      
        Summary:
      
         - drop unneeded Kconfig "select BUG" (Kamal Mostafa)
      
         - add "hardened_usercopy=off" rare performance needs (Chris von
           Recklinghausen)"
      
      * tag 'hardened-usercopy-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        usercopy: Allow boot cmdline disabling of hardening
        usercopy: Do not select BUG with HARDENED_USERCOPY
      8c479c2c
    • L
      Merge tag 'for-linus-4.19-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 31130a16
      Linus Torvalds 提交于
      Pull xen updates from Juergen Gross:
      
       - add dma-buf functionality to Xen grant table handling
      
       - fix for booting the kernel as Xen PVH dom0
      
       - fix for booting the kernel as a Xen PV guest with
         CONFIG_DEBUG_VIRTUAL enabled
      
       - other minor performance and style fixes
      
      * tag 'for-linus-4.19-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/balloon: fix balloon initialization for PVH Dom0
        xen: don't use privcmd_call() from xen_mc_flush()
        xen/pv: Call get_cpu_address_sizes to set x86_virt/phys_bits
        xen/biomerge: Use true and false for boolean values
        xen/gntdev: don't dereference a null gntdev_dmabuf on allocation failure
        xen/spinlock: Don't use pvqspinlock if only 1 vCPU
        xen/gntdev: Implement dma-buf import functionality
        xen/gntdev: Implement dma-buf export functionality
        xen/gntdev: Add initial support for dma-buf UAPI
        xen/gntdev: Make private routines/structures accessible
        xen/gntdev: Allow mappings for DMA buffers
        xen/grant-table: Allow allocating buffers suitable for DMA
        xen/balloon: Share common memory reservation routines
        xen/grant-table: Make set/clear page private code shared
      31130a16
    • L
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 1202f4fd
      Linus Torvalds 提交于
      Pull arm64 updates from Will Deacon:
       "A bunch of good stuff in here. Worth noting is that we've pulled in
        the x86/mm branch from -tip so that we can make use of the core
        ioremap changes which allow us to put down huge mappings in the
        vmalloc area without screwing up the TLB. Much of the positive
        diffstat is because of the rseq selftest for arm64.
      
        Summary:
      
         - Wire up support for qspinlock, replacing our trusty ticket lock
           code
      
         - Add an IPI to flush_icache_range() to ensure that stale
           instructions fetched into the pipeline are discarded along with the
           I-cache lines
      
         - Support for the GCC "stackleak" plugin
      
         - Support for restartable sequences, plus an arm64 port for the
           selftest
      
         - Kexec/kdump support on systems booting with ACPI
      
         - Rewrite of our syscall entry code in C, which allows us to zero the
           GPRs on entry from userspace
      
         - Support for chained PMU counters, allowing 64-bit event counters to
           be constructed on current CPUs
      
         - Ensure scheduler topology information is kept up-to-date with CPU
           hotplug events
      
         - Re-enable support for huge vmalloc/IO mappings now that the core
           code has the correct hooks to use break-before-make sequences
      
         - Miscellaneous, non-critical fixes and cleanups"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (90 commits)
        arm64: alternative: Use true and false for boolean values
        arm64: kexec: Add comment to explain use of __flush_icache_range()
        arm64: sdei: Mark sdei stack helper functions as static
        arm64, kaslr: export offset in VMCOREINFO ELF notes
        arm64: perf: Add cap_user_time aarch64
        efi/libstub: Only disable stackleak plugin for arm64
        arm64: drop unused kernel_neon_begin_partial() macro
        arm64: kexec: machine_kexec should call __flush_icache_range
        arm64: svc: Ensure hardirq tracing is updated before return
        arm64: mm: Export __sync_icache_dcache() for xen-privcmd
        drivers/perf: arm-ccn: Use devm_ioremap_resource() to map memory
        arm64: Add support for STACKLEAK gcc plugin
        arm64: Add stack information to on_accessible_stack
        drivers/perf: hisi: update the sccl_id/ccl_id when MT is supported
        arm64: fix ACPI dependencies
        rseq/selftests: Add support for arm64
        arm64: acpi: fix alignment fault in accessing ACPI
        efi/arm: map UEFI memory map even w/o runtime services enabled
        efi/arm: preserve early mapping of UEFI memory map longer for BGRT
        drivers: acpi: add dependency of EFI for arm64
        ...
      1202f4fd
    • V
      x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread · d0055f35
      Vlastimil Babka 提交于
      The function has an inline "return false;" definition with CONFIG_SMP=n
      but the "real" definition is also visible leading to "redefinition of
      ‘apic_id_is_primary_thread’" compiler error.
      
      Guard it with #ifdef CONFIG_SMP
      Signed-off-by: NVlastimil Babka <vbabka@suse.cz>
      Fixes: 6a4d2657 ("x86/smp: Provide topology_is_primary_thread()")
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d0055f35
    • A
      cpu/hotplug: Non-SMP machines do not make use of booted_once · 269777aa
      Abel Vesa 提交于
      Commit 0cc3cd21 ("cpu/hotplug: Boot HT siblings at least once")
      breaks non-SMP builds.
      
      [ I suspect the 'bool' fields should just be made to be bitfields and be
        exposed regardless of configuration, but that's a separate cleanup
        that I'll leave to the owners of this file for later.   - Linus ]
      
      Fixes: 0cc3cd21 ("cpu/hotplug: Boot HT siblings at least once")
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Signed-off-by: NAbel Vesa <abelvesa@linux.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      269777aa
    • L
      Merge tag 'docs-4.19' of git://git.lwn.net/linux · e6ecec34
      Linus Torvalds 提交于
      Pull documentation update from Jonathan Corbet:
       "This was a moderately busy cycle for docs, with the usual collection
        of small fixes and updates.
      
        We also have new ktime_get_*() docs from Arnd, some kernel-doc fixes,
        a new set of Italian translations (non so se vale la pena, ma non fa
        male - speriamo bene), and some extensive early memory-management
        documentation improvements from Mike Rapoport"
      
      * tag 'docs-4.19' of git://git.lwn.net/linux: (52 commits)
        Documentation: corrections to console/console.txt
        Documentation: add ioctl number entry for v4l2-subdev.h
        Remove gendered language from management style documentation
        scripts/kernel-doc: Escape all literal braces in regexes
        docs/mm: add description of boot time memory management
        docs/mm: memblock: add overview documentation
        docs/mm: memblock: add kernel-doc description for memblock types
        docs/mm: memblock: add kernel-doc comments for memblock_add[_node]
        docs/mm: memblock: update kernel-doc comments
        mm/memblock: add a name for memblock flags enumeration
        docs/mm: bootmem: add overview documentation
        docs/mm: bootmem: add kernel-doc description of 'struct bootmem_data'
        docs/mm: bootmem: fix kernel-doc warnings
        docs/mm: nobootmem: fixup kernel-doc comments
        mm/bootmem: drop duplicated kernel-doc comments
        Documentation: vm.txt: Adding 'nr_hugepages_mempolicy' parameter description.
        doc:it_IT: translation for kernel-hacking
        docs: Fix the reference labels in Locking.rst
        doc: tracing: Fix a typo of trace_stat
        mm: Introduce new type vm_fault_t
        ...
      e6ecec34
    • L
      Merge tag 'sound-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 747f6230
      Linus Torvalds 提交于
      Pull sound updates from Takashi Iwai:
       "It's been busy summer weeks and hence lots of changes, partly for a
        few new drivers and partly for a wide range of fixes.
      
        Here are highlights:
      
        ALSA Core:
         - Fix rawmidi buffer management, code cleanup / refactoring
         - Fix the SG-buffer page handling with incorrect fallback size
         - Fix the stall at virmidi trigger callback with a large buffer; also
           offloading and code-refactoring along with it
         - Various ALSA sequencer code cleanups
      
        ASoC:
         - Deploy the standard snd_pcm_stop_xrun() helper in several drivers
         - Support for providing name prefixes to generic component nodes
         - Quite a few fixes for DPCM as it gains a bit wider use and more
           robust testing
         - Generalization of the DIO2125 support to a simple amplifier driver
         - Accessory detection support for the audio graph card
         - DT support for PXA AC'97 devices
         - Quirks for a number of new x86 systems
         - Support for AM Logic Meson, Everest ES7154, Intel systems with
           RT5682, Qualcomm QDSP6 and WCD9335, Realtek RT5682 and TI TAS5707
      
        HD-audio:
         - Code refactoring in HD-audio ext codec codes to drop own classes;
           preliminary works for the upcoming legacy codec support
         - Generalized DRM audio component for the upcoming radeon / amdgpu
           support
         - Unification of mic mute-LED and GPIO support for various codecs
         - Further improvement of CA0132 codec support including Recon3D
         - Proper vga_switcheroo handling for AMD i-GPU
         - Update of model list in documentation
         - Fixups for another HP Spectre x360, Conexant codecs, power-save
           blacklist update
      
        USB-audio:
         - Fix the invalid sample rate setup with external clock
         - Support of UAC3 selector units and processing units
         - Basic UAC3 power-domain support
         - Support for Encore mDSD and Thesycon-based DSD devices
         - Preparation for future complete callback changes
      
        Firewire:
         - Add support for MOTU Traveler
      
        Misc:
         - The endianess notation fixes in various drivers
         - Add fall-through comment in lots of drivers
         - Various sparse warning fixes, e.g. about PCM format types"
      
      * tag 'sound-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (529 commits)
        ASoC: adav80x: mark expected switch fall-through
        ASoC: da7219: Add delays to capture path to remove DC offset noise
        ALSA: usb-audio: Mark expected switch fall-through
        ALSA: mixart: Mark expected switch fall-through
        ALSA: opl3: Mark expected switch fall-through
        ALSA: hda/ca0132 - Add exit commands for Recon3D
        ALSA: hda/ca0132 - Change mixer controls for Recon3D
        ALSA: hda/ca0132 - Add Recon3D input and output select commands
        ALSA: hda/ca0132 - Add DSP setup defaults for Recon3D
        ALSA: hda/ca0132 - Add Recon3D startup functions and setup
        ALSA: hda/ca0132 - Add bool variable to enable/disable pci region2 mmio
        ALSA: hda/ca0132 - Add Recon3D pincfg
        ALSA: hda/ca0132 - Add quirk ID and enum for Recon3D
        ALSA: hda/ca0132 - Add alt_functions unsolicited response
        ALSA: hda/ca0132 - Clean up ca0132_init function.
        ALSA: hda/ca0132 - Create mmio gpio function to make code clearer
        ASoC: wm_adsp: Make DSP name configurable by codec driver
        ASoC: wm_adsp: Declare firmware controls from codec driver
        ASoC: max98373: Added software reset register to readable registers
        ASoC: wm_adsp: Correct DSP pointer for preloader control
        ...
      747f6230
    • L
      Merge tag 'acpi-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2c20443e
      Linus Torvalds 提交于
      Pull ACPI updates from Rafael Wysocki:
       "These revert two ACPICA commits that are not needed any more, rework
        the property graphs support in ACPI to be more aligned with the
        analogous DT code, add some new quirks and remove one that isn't
        needed any more, add a special platform driver to enumerate multiple
        I2C devices hooked up to the same device object in the ACPI tables and
        update the battery and button drivers.
      
        Specifics:
      
         - Revert two ACPICA commits that are not needed any more (Erik
           Schmauss).
      
         - Rework property graph support in the ACPI device properties
           framework to make it behave more like the analogous DT code and
           update the documentation of it (Sakari Ailus).
      
         - Change the default ACPI device status after initialization to
           ACPI_STA_DEFAULT instead of 0 (Hans de Goede).
      
         - Add a special platform driver for enumerating multiple I2C devices
           hooked up to the same object in the ACPI tables (Hans de Goede).
      
         - Fix the ACPI battery driver to avoid reporting full capacity on
           systems without support for that and clean it up (Hans de Goede,
           Dmitry Rozhkov, Lucas Rangit Magasweran).
      
         - Add two system wakeup quirks to the ACPI EC driver (Aaron Ma, Mika
           Westerberg).
      
         - Add the touchscreen on Dell Venue Pro 7139 to the list of "always
           present" devices to make it work (Tristian Celestin).
      
         - Revert a special tables handling quirk for Dell XPS 9570 and
           Precision M5530 which is not needed any more (Kai Heng Feng).
      
         - Add support for a new OEM _OSI string to allow system vendors to
           work around issues with NVidia HDMI audio (Alex Hung).
      
         - Prevent the ACPI button driver from reporting excessive system
           wakeup events and clean it up (Ravi Chandra Sadineni, Randy
           Dunlap).
      
         - Clean up two minor code style issues in the ACPI core and GHES
           handling on ARM64 (Dongjiu Geng, John Garry, Tom Todd)"
      
      * tag 'acpi-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (34 commits)
        platform/x86: Add ACPI i2c-multi-instantiate pseudo driver
        ACPI / x86: utils: Remove status workaround from acpi_device_always_present()
        ACPI / scan: Create platform device for fwnodes with multiple i2c devices
        ACPI / scan: Initialize status to ACPI_STA_DEFAULT
        ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th
        ACPI: bus: Fix a pointer coding style issue
        arm64 / ACPI: clean the additional checks before calling ghes_notify_sea()
        ACPI / scan: Add static attribute to indirect_io_hosts[]
        ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity
        ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd
        ACPI / battery: get rid of negations in conditions
        ACPI / battery: use specialized print macros
        ACPI / battery: reorder headers alphabetically
        ACPI / battery: drop inclusion of init.h
        ACPI: battery: remove redundant old_present check on insertion
        ACPI: property: graph: Update graph documentation to use generic references
        ACPI: property: graph: Improve graph documentation for port/ep numbering
        ACPI: property: graph: Fix graph documentation
        ACPI: property: Update documentation for hierarchical data extension 1.1
        ACPI: property: Document key numbering for hierarchical data extension refs
        ...
      2c20443e
    • L
      Merge tag 'pm-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b018fc98
      Linus Torvalds 提交于
      Pull power management updates from Rafael Wysocki:
       "These add a new framework for CPU idle time injection, to be used by
        all of the idle injection code in the kernel in the future, fix some
        issues and add a number of relatively small extensions in multiple
        places.
      
        Specifics:
      
         - Add a new framework for CPU idle time injection (Daniel Lezcano).
      
         - Add AVS support to the armada-37xx cpufreq driver (Gregory
           CLEMENT).
      
         - Add support for current CPU frequency reporting to the ACPI CPPC
           cpufreq driver (George Cherian).
      
         - Rework the cooling device registration in the imx6q/thermal driver
           (Bastian Stender).
      
         - Make the pcc-cpufreq driver refuse to work with dynamic scaling
           governors on systems with many CPUs to avoid scalability issues
           with it (Rafael Wysocki).
      
         - Fix the intel_pstate driver to report different maximum CPU
           frequencies on systems where they really are different and to
           ignore the turbo active ratio if hardware-managend P-states (HWP)
           are in use; make it use the match_string() helper (Xie Yisheng,
           Srinivas Pandruvada).
      
         - Fix a minor deferred probe issue in the qcom-kryo cpufreq driver
           (Niklas Cassel).
      
         - Add a tracepoint for the tracking of frequency limits changes (from
           Andriod) to the cpufreq core (Ruchi Kandoi).
      
         - Fix a circular lock dependency between CPU hotplug and sysfs
           locking in the cpufreq core reported by lockdep (Waiman Long).
      
         - Avoid excessive error reports on driver registration failures in
           the ARM cpuidle driver (Sudeep Holla).
      
         - Add a new device links flag to the driver core to make links go
           away automatically on supplier driver removal (Vivek Gautam).
      
         - Eliminate potential race condition between system-wide power
           management transitions and system shutdown (Pingfan Liu).
      
         - Add a quirk to save NVS memory on system suspend for the ASUS 1025C
           laptop (Willy Tarreau).
      
         - Make more systems use suspend-to-idle (instead of ACPI S3) by
           default (Tristian Celestin).
      
         - Get rid of stack VLA usage in the low-level hibernation code on
           64-bit x86 (Kees Cook).
      
         - Fix error handling in the hibernation core and mark an expected
           fall-through switch in it (Chengguang Xu, Gustavo Silva).
      
         - Extend the generic power domains (genpd) framework to support
           attaching a device to a power domain by name (Ulf Hansson).
      
         - Fix device reference counting and user limits initialization in the
           devfreq core (Arvind Yadav, Matthias Kaehlcke).
      
         - Fix a few issues in the rk3399_dmc devfreq driver and improve its
           documentation (Enric Balletbo i Serra, Lin Huang, Nick Milner).
      
         - Drop a redundant error message from the exynos-ppmu devfreq driver
           (Markus Elfring)"
      
      * tag 'pm-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (35 commits)
        PM / reboot: Eliminate race between reboot and suspend
        PM / hibernate: Mark expected switch fall-through
        cpufreq: intel_pstate: Ignore turbo active ratio in HWP
        cpufreq: Fix a circular lock dependency problem
        cpu/hotplug: Add a cpus_read_trylock() function
        x86/power/hibernate_64: Remove VLA usage
        cpufreq: trace frequency limits change
        cpufreq: intel_pstate: Show different max frequency with turbo 3 and HWP
        cpufreq: pcc-cpufreq: Disable dynamic scaling on many-CPU systems
        cpufreq: qcom-kryo: Silently error out on EPROBE_DEFER
        cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC
        cpufreq: armada-37xx: Add AVS support
        dt-bindings: marvell: Add documentation for the Armada 3700 AVS binding
        PM / devfreq: rk3399_dmc: Fix duplicated opp table on reload.
        PM / devfreq: Init user limits from OPP limits, not viceversa
        PM / devfreq: rk3399_dmc: fix spelling mistakes.
        PM / devfreq: rk3399_dmc: do not print error when get supply and clk defer.
        dt-bindings: devfreq: rk3399_dmc: move interrupts to be optional.
        PM / devfreq: rk3399_dmc: remove wait for dcf irq event.
        dt-bindings: clock: add rk3399 DDR3 standard speed bins.
        ...
      b018fc98
    • L
      Merge tag 'leds-for-4.19-rc1' of... · c07b3682
      Linus Torvalds 提交于
      Merge tag 'leds-for-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
      
      Pull LED updates from Jacek Anaszewski:
       "LED triggers improvements make the biggest part of this pull request.
        The most striking ones, that allowed for nice cleanups in the triggers
        are:
      
         - centralized handling of creation and removal of trigger sysfs
           attributes via attribute group
      
         - addition of module_led_trigger() helper
      
        The other things that need to be mentioned:
      
        New features and improvements to existing LED class drivers:
      
         - lt3593: add DT support, switch to gpiod interface
      
         - lm3692x: support LED sync configuration, change OF calls to fwnode
           calls
      
         - apu: modify PC Engines apu/apu2 driver to support apu3
      
        Change in the drivers/net/can/led.c:
      
         - mark led trigger as broken since it's in the way for the further
           cleanups. It implements a subset of the netdev trigger and an Ack
           is needed from someone who can actually test and confirm that the
           netdev trigger works for can devices"
      
      * tag 'leds-for-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (32 commits)
        leds: ns2: Change unsigned to unsigned int
        usb: simplify usbport trigger
        leds: gpio trigger: simplifications from core changes
        leds: backlight trigger: simplifications from core changes
        leds: activity trigger: simplifications from core changes
        leds: default-on trigger: make use of module_led_trigger()
        leds: heartbeat trigger: simplifications from core changes
        leds: oneshot trigger: simplifications from core changes
        leds: transient trigger: simplifications from core changes
        leds: timer trigger: simplifications from core changes
        leds: netdev trigger: simplifications from core changes
        leds: triggers: new function led_set_trigger_data()
        leds: triggers: define module_led_trigger helper
        leds: triggers: handle .trigger_data and .activated() in the core
        leds: triggers: add device attribute support
        leds: triggers: let struct led_trigger::activate() return an error code
        leds: triggers: make the MODULE_LICENSE string match the actual license
        leds: lm3692x: Support LED sync configuration
        dt: bindings: lm3692x: Update binding for LED sync control
        leds: lm3692x: Change DT calls to fwnode calls
        ...
      c07b3682
    • L
      Merge tag 'devicetree-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 4d88e3d2
      Linus Torvalds 提交于
      Pull Devicetree updates from Rob Herring:
      
       - Remove an obsolete hack for PPC32 longtrail systems
      
       - Make of_io_request_and_map() "name" arg optional
      
       - Add vendor prefixes for bitmain, Asus, and Y Soft
      
       - Remove 'interrupt-parent' from bindings as it is implicit
      
       - New properties for wm8994 audio codec
      
       - Add 'clocks' property support to SRAM binding
      
       - Add binding for ASPEED coprocessor interrupt controller
      
       - Various binding spelling and link fixes
      
      * tag 'devicetree-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        Documentation: remove dynamic-resolution-notes reference to non-existent file
        dt-bindings: Add Y Soft Corporation vendor prefix
        of/fdt: Remove PPC32 longtrail hack in memory scan
        dt-bindings: remove 'interrupt-parent' from bindings
        pinctrl: tegra: fix spelling in devicetree binding document
        usb: dwc3: rockchip: Fix PHY documentation links.
        dt-bindings: sound: wm8994: document wlf,csnaddr-pd property
        dt-bindings: sound: wm8994: document wlf,spkmode-pu property
        dt-bindings: sram: Add 'clocks' as an optional property
        dt-bindings: Add vendor prefix for AsusTek Computer Inc.
        dt-bindings: misc: ASPEED coprocessor interrupt controller
        dt-bindings: gpio: pca953x: Document interrupts, update example
        drivers/of: Make of_io_request_and_map() "name" argument optional
        dt-bindings: Add bitmain vendor prefix
        Documentation: devicetree: tilcdc: fix spelling mistake "suppors" -> "supports"
      4d88e3d2
    • L
      Merge tag 'pinctrl-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · c6ed444f
      Linus Torvalds 提交于
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for v4.19:
      
        Core changes:
      
         - Augment pinctrl_generic_add_group() and pinmux_generic_add_function()
           to return the selector for the added group/function to the caller
           and augment (hopefully) all drivers to handle this
      
        New subdrivers:
      
         - Qualcomm PM8998 and PM8005 are supported in the SPMI pin control
           and GPIO driver
      
         - Intel Ice Lake PCH (platform controller hub) support
      
         - NXP (ex Freescale) i.MX8MQ support
      
         - Berlin AS370 support
      
        Improvements to drivers:
      
         - Support interrupts on the Ocelot pin controller
      
         - Add SPI pins to the Uniphier driver
      
         - Define a GPIO compatible per SoC in the Tegra driver
      
         - Push Tegra initialization down in the initlevels
      
         - Support external wakeup interrupts on the Exynos
      
         - Add generic clocks pins to the meson driver
      
         - Add USB and HSCIF pins for some Renesas PFC chips
      
         - Suspend/resume support in the armada-37xx
      
         - Interrupt support for the Actions Semiconductor S900 also known as
           "owl"
      
         - Correct the pin ordering in Cedarfork
      
         - Debugfs output for INTF in the mcp23s08 driver
      
         - Avoid divisions in context save/restore in pinctrl-single
      
        The rest is minor bug fixes or cleanups"
      
      * tag 'pinctrl-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (69 commits)
        pinctrl: nomadik: silence uninitialized variable warning
        pinctrl: axp209: Fix NULL pointer dereference after allocation
        pinctrl: samsung: Remove duplicated "wakeup" in printk
        pinctrl: ocelot: add support for interrupt controller
        pinctrl: intel: Don't shadow error code of gpiochip_lock_as_irq()
        pinctrl: berlin: fix 'pctrl->functions' allocation in berlin_pinctrl_build_state
        gpio: tegra: Move driver registration to subsys_init level
        pinctrl: tegra: Move drivers registration to arch_init level
        pinctrl: baytrail: actually print the apparently misconfigured pin
        MAINTAINERS: Replace Heikki as maintainer of Intel pinctrl
        pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show()
        pinctrl: uniphier: add spi pin-mux settings
        pinctrl: cannonlake: Fix community ordering for H variant
        pinctrl: tegra: define GPIO compatible node per SoC
        pinctrl: intel: Do pin translation when lock IRQ
        pinctrl: imx: off by one in imx_pinconf_group_dbg_show()
        pinctrl: mediatek: include chained_irq.h header
        pinctrl/amd: only handle irq if it is pending and unmasked
        pinctrl/amd: fix gpio irq level in debugfs
        pinctrl: stm32: add syscfg mask parameter
        ...
      c6ed444f
    • L
      Merge tag 'regulator-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 3860cae6
      Linus Torvalds 提交于
      Pull regulator updates from Mark Brown:
       "The biggest set of changes in here is the addition of the Qualcomm
        RPMH driver. As well as the regualtor driver itself being quite large
        due to the usual involved Qualcomm regulator stuff there's also some
        code shared with the arm-soc tree, a bus driver required to
        communicate with the hardware that actually winds up being much larger
        than the regulator driver itself and a LLCC driver that was part of
        the same signed tag used with the arm-soc tree.
      
        Other than that it's a fairly standard and quiet release, highlights
        include:
      
         - Addition of device links from regulator consumers to their
           regulators, helping the core avoid dependency issues during
           suspend.
      
         - Support for the entertainingly innovative suspend implementation in
           the BD9571MWV.
      
         - Support for switch regulators on the PFUZE100, this required two
           goes due to backwards compatibility issues with old DTs that were
           discovered.
      
         - Support for Freescale PFUZE3001 and SocioNext UniPhier.
      
         - The aforementioned Qualcomm RPMH driver together with the driver
           changes required to support it"
      
      * tag 'regulator-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (52 commits)
        regulator: add QCOM RPMh regulator driver
        regulator: dt-bindings: add QCOM RPMh regulator bindings
        regulator: samsung: Add SPDX license identifiers
        regulator: maxim: Add SPDX license identifiers
        regulator: bd71837: adobt MFD changes to regulator driver
        regulator: tps65217: Fix NULL pointer dereference on probe
        regulator: Add support for CPCAP regulators on Motorola Xoom devices.
        regulator: Add sw2_sw4 voltage table to cpcap regulator.
        regulator: bd9571mwv: Make symbol 'dev_attr_backup_mode' static
        regulator: pfuze100: add support to en-/disable switch regulators
        regulator: pfuze100: add optional disable switch-regulators binding
        soc: qcom: rmtfs-mem: fix memleak in probe error paths
        soc: qcom: llc-slice: Add missing MODULE_LICENSE()
        drivers: qcom: rpmh: fix unwanted error check for get_tcs_of_type()
        drivers: qcom: rpmh-rsc: fix the loop index check in get_req_from_tcs
        firmware: qcom: scm: add a dummy qcom_scm_assign_mem()
        drivers: qcom: rpmh-rsc: Check cmd_db_ready() to help children
        drivers: qcom: rpmh-rsc: allow active requests from wake TCS
        drivers: qcom: rpmh: add support for batch RPMH request
        drivers: qcom: rpmh: allow requests to be sent asynchronously
        ...
      3860cae6
    • L
      Merge tag 'spi-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 010b0e70
      Linus Torvalds 提交于
      Pull spi updates from Mark Brown:
       "Quite an active release for the SPI subsystem, lots of small updates
        and fixes scattered about with highlights including:
      
         - 3-wire support in the GPIO driver.
      
         - support for setting a custom memory name in the memory mapped flash
           drivers.
      
         - support for extended mode in the Freescale DSPI controller.
      
         - support for the non-standard integration with the Microsemi Ocelot
           platform in the DesignWare driver.
      
         - new driver for the SocioNext UniPhier"
      
      * tag 'spi-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (47 commits)
        spi: davinci: fix a NULL pointer dereference
        spi: spi-mem: Constify spi_mem->name
        mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name
        spi: spi-mem: Extend the SPI mem interface to set a custom memory name
        spi: spi-mem: Fix a typo in the documentation of struct spi_mem
        spi: uniphier: remove unnecessary include headers
        spi: spi-gpio: add SPI_3WIRE support
        spi: add flags parameter to txrx_word function pointers
        spi: add SPI controller driver for UniPhier SoC
        spi: add DT bindings for UniPhier SPI controller
        spi: dw: document Microsemi integration
        spi: img-spfi: Set device select bits for SPFI port state
        spi: omap2-mcspi: remove several redundant variables
        spi: dw-mmio: add MSCC Ocelot support
        spi: dw: export dw_spi_set_cs
        spi: spi-fsl-espi: Log fifo counters on error
        spi: imx: Use the longuest possible burst size when in dynamic_burst
        spi: imx: remove unnecessary check in spi_imx_can_dma
        spi: imx: Use correct number of bytes per words
        spi: imx: Use dynamic bursts only when bits_per_word is 8, 16 or 32
        ...
      010b0e70
    • V
      x86/init: fix build with CONFIG_SWAP=n · 792adb90
      Vlastimil Babka 提交于
      The introduction of generic_max_swapfile_size and arch-specific versions has
      broken linking on x86 with CONFIG_SWAP=n due to undefined reference to
      'generic_max_swapfile_size'. Fix it by compiling the x86-specific
      max_swapfile_size() only with CONFIG_SWAP=y.
      Reported-by: NTomas Pruzina <pruzinat@gmail.com>
      Fixes: 377eeaa8 ("x86/speculation/l1tf: Limit swap file size to MAX_PA/2")
      Signed-off-by: NVlastimil Babka <vbabka@suse.cz>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      792adb90
    • L
      Merge tag 'regmap-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 15bc88cd
      Linus Torvalds 提交于
      Pull regmap updates from Mark Brown:
       "Several small new features for regmap this time around:
      
         - Support for SCCB, an I2C variant used on some media cards. This has
           also pulled in an I2C commit from Peter Rosin as a dependency.
      
         - Addition of an API for reading repeatedly from registers where the
           address doesn't automatically increment like some ADC outputs or
           GPIO status registers.
      
         - Support for bulk I/O on Slimbus"
      
      * tag 'regmap-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Add regmap_noinc_read API
        regmap: sccb: fix typo and sort headers alphabetically
        i2c: smbus: add unlocked __i2c_smbus_xfer variant
        regmap: add SCCB support
        regmap: slimbus: add support to multi read/write
      15bc88cd
    • L
      Merge tag 'configfs-for-4.19' of git://git.infradead.org/users/hch/configfs · be718b52
      Linus Torvalds 提交于
      Pull configfs updates from Christoph Hellwig:
      
       - simplify the cide by using kvasprintf (Bart Van Assche)
      
       - fix a gcc 8 string truncation warning by making the code simpler
         (Guenter Roeck)
      
       - fix a bug in rmdir() handling (Mike Christie)
      
      * tag 'configfs-for-4.19' of git://git.infradead.org/users/hch/configfs:
        configfs: fix registered group removal
        configfs: replace strncpy with memcpy
        configfs: use kvasprintf() instead of open-coding it
      be718b52