1. 16 Aug, 2018 12 commits
    • Harsha Sharma's avatar
      netfilter: nft_ct: make l3 protocol field optional for timeout object · 3206c516
      Harsha Sharma authored
      If l3 protocol value is not specified for ct timeout object then use the
      value from nft_ctx protocol family.
      Signed-off-by: default avatarHarsha Sharma <harshasharmaiitr@gmail.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      3206c516
    • Máté Eckl's avatar
      netfilter: doc: Add nf_tables part in tproxy.txt · 1bfc2bc7
      Máté Eckl authored
      Recently, transparent proxy support has been added to nf_tables so that
      this document should be updated with the new information.
      
      - Nft commands are added as alternatives to iptables ones.
      - The link for a patched iptables is removed as it is already part of
        the mainline iptables implementation (and the link is dead).
      - tcprdr is added as an example implementation of a transparent proxy
      
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Florian Westphal <fw@strlen.de>
      Cc: KOVACS Krisztian <hidden@sch.bme.hu>
      Cc: Pablo Neira Ayuso <pablo@netfilter.org>
      Cc: linux-doc@vger.kernel.org
      Signed-off-by: default avatarMáté Eckl <ecklm94@gmail.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      1bfc2bc7
    • Michal Hocko's avatar
      netfilter: x_tables: do not fail xt_alloc_table_info too easilly · a148ce15
      Michal Hocko authored
      eacd86ca ("net/netfilter/x_tables.c: use kvmalloc()
      in xt_alloc_table_info()") has unintentionally fortified
      xt_alloc_table_info allocation when __GFP_RETRY has been dropped from
      the vmalloc fallback. Later on there was a syzbot report that this
      can lead to OOM killer invocations when tables are too large and
      0537250f ("netfilter: x_tables: make allocation less aggressive")
      has been merged to restore the original behavior. Georgi Nikolov however
      noticed that he is not able to install his iptables anymore so this can
      be seen as a regression.
      
      The primary argument for 0537250f was that this allocation path
      shouldn't really trigger the OOM killer and kill innocent tasks. On the
      other hand the interface requires root and as such should allow what the
      admin asks for. Root inside a namespaces makes this more complicated
      because those might be not trusted in general. If they are not then such
      namespaces should be restricted anyway. Therefore drop the __GFP_NORETRY
      and replace it by __GFP_ACCOUNT to enfore memcg constrains on it.
      
      Fixes: 0537250f ("netfilter: x_tables: make allocation less aggressive")
      Reported-by: default avatarGeorgi Nikolov <gnikolov@icdsoft.com>
      Suggested-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Acked-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      a148ce15
    • Florian Westphal's avatar
      netfilter: conntrack: fix removal of conntrack entries when l4tracker is removed · 1c117d3b
      Florian Westphal authored
      nf_ct_l4proto_unregister_one() leaves conntracks added by
      to-be-removed tracker behind, nf_ct_l4proto_unregister has to iterate
      for each protocol to be removed.
      
      v2: call nf_ct_iterate_destroy without holding nf_ct_proto_mutex.
      
      Fixes: 2c41f33c ("netfilter: move table iteration out of netns exit paths")
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      1c117d3b
    • Florian Westphal's avatar
      netfilter: nf_tables: don't prevent event handler from device cleanup on netns exit · 6a48de01
      Florian Westphal authored
      When a netnsamespace exits, the nf_tables pernet_ops will remove all rules.
      However, there is one caveat:
      
      Base chains that register ingress hooks will cause use-after-free:
      device is already gone at that point.
      
      The device event handlers prevent this from happening:
      netns exit synthesizes unregister events for all devices.
      
      However, an improper fix for a race condition made the notifiers a no-op
      in case they get called from netns exit path, so revert that part.
      
      This is safe now as the previous patch fixed nf_tables pernet ops
      and device notifier initialisation ordering.
      
      Fixes: 0a2cf5ee ("netfilter: nf_tables: close race between netns exit and rmmod")
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      6a48de01
    • Florian Westphal's avatar
      netfilter: nf_tables: fix register ordering · d209df3e
      Florian Westphal authored
      We must register nfnetlink ops last, as that exposes nf_tables to
      userspace.  Without this, we could theoretically get nfnetlink request
      before net->nft state has been initialized.
      
      Fixes: 99633ab2 ("netfilter: nf_tables: complete net namespace support")
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      d209df3e
    • Florian Westphal's avatar
      netfilter: fix memory leaks on netlink_dump_start error · 3e673b23
      Florian Westphal authored
      Shaochun Chen points out we leak dumper filter state allocations
      stored in dump_control->data in case there is an error before netlink sets
      cb_running (after which ->done will be called at some point).
      
      In order to fix this, add .start functions and move allocations there.
      
      Same pattern as used in commit 90fd131a
      ("netfilter: nf_tables: move dumper state allocation into ->start").
      Reported-by: default avatarshaochun chen <cscnull@gmail.com>
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      3e673b23
    • Taehee Yoo's avatar
      netfilter: nft_set: fix allocation size overflow in privsize callback. · 4ef360dd
      Taehee Yoo authored
      In order to determine allocation size of set, ->privsize is invoked.
      At this point, both desc->size and size of each data structure of set
      are used. desc->size means number of element that is given by user.
      desc->size is u32 type. so that upperlimit of set element is 4294967295.
      but return type of ->privsize is also u32. hence overflow can occurred.
      
      test commands:
         %nft add table ip filter
         %nft add set ip filter hash1 { type ipv4_addr \; size 4294967295 \; }
         %nft list ruleset
      
      splat looks like:
      [ 1239.202910] kasan: CONFIG_KASAN_INLINE enabled
      [ 1239.208788] kasan: GPF could be caused by NULL-ptr deref or user memory access
      [ 1239.217625] general protection fault: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN PTI
      [ 1239.219329] CPU: 0 PID: 1603 Comm: nft Not tainted 4.18.0-rc5+ #7
      [ 1239.229091] RIP: 0010:nft_hash_walk+0x1d2/0x310 [nf_tables_set]
      [ 1239.229091] Code: 84 d2 7f 10 4c 89 e7 89 44 24 38 e8 d8 5a 17 e0 8b 44 24 38 48 8d 7b 10 41 0f b6 0c 24 48 89 fa 48 89 fe 48 c1 ea 03 83 e6 07 <42> 0f b6 14 3a 40 38 f2 7f 1a 84 d2 74 16
      [ 1239.229091] RSP: 0018:ffff8801118cf358 EFLAGS: 00010246
      [ 1239.229091] RAX: 0000000000000000 RBX: 0000000000020400 RCX: 0000000000000001
      [ 1239.229091] RDX: 0000000000004082 RSI: 0000000000000000 RDI: 0000000000020410
      [ 1239.229091] RBP: ffff880114d5a988 R08: 0000000000007e94 R09: ffff880114dd8030
      [ 1239.229091] R10: ffff880114d5a988 R11: ffffed00229bb006 R12: ffff8801118cf4d0
      [ 1239.229091] R13: ffff8801118cf4d8 R14: 0000000000000000 R15: dffffc0000000000
      [ 1239.229091] FS:  00007f5a8fe0b700(0000) GS:ffff88011b600000(0000) knlGS:0000000000000000
      [ 1239.229091] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 1239.229091] CR2: 00007f5a8ecc27b0 CR3: 000000010608e000 CR4: 00000000001006f0
      [ 1239.229091] Call Trace:
      [ 1239.229091]  ? nft_hash_remove+0xf0/0xf0 [nf_tables_set]
      [ 1239.229091]  ? memset+0x1f/0x40
      [ 1239.229091]  ? __nla_reserve+0x9f/0xb0
      [ 1239.229091]  ? memcpy+0x34/0x50
      [ 1239.229091]  nf_tables_dump_set+0x9a1/0xda0 [nf_tables]
      [ 1239.229091]  ? __kmalloc_reserve.isra.29+0x2e/0xa0
      [ 1239.229091]  ? nft_chain_hash_obj+0x630/0x630 [nf_tables]
      [ 1239.229091]  ? nf_tables_commit+0x2c60/0x2c60 [nf_tables]
      [ 1239.229091]  netlink_dump+0x470/0xa20
      [ 1239.229091]  __netlink_dump_start+0x5ae/0x690
      [ 1239.229091]  nft_netlink_dump_start_rcu+0xd1/0x160 [nf_tables]
      [ 1239.229091]  nf_tables_getsetelem+0x2e5/0x4b0 [nf_tables]
      [ 1239.229091]  ? nft_get_set_elem+0x440/0x440 [nf_tables]
      [ 1239.229091]  ? nft_chain_hash_obj+0x630/0x630 [nf_tables]
      [ 1239.229091]  ? nf_tables_dump_obj_done+0x70/0x70 [nf_tables]
      [ 1239.229091]  ? nla_parse+0xab/0x230
      [ 1239.229091]  ? nft_get_set_elem+0x440/0x440 [nf_tables]
      [ 1239.229091]  nfnetlink_rcv_msg+0x7f0/0xab0 [nfnetlink]
      [ 1239.229091]  ? nfnetlink_bind+0x1d0/0x1d0 [nfnetlink]
      [ 1239.229091]  ? debug_show_all_locks+0x290/0x290
      [ 1239.229091]  ? sched_clock_cpu+0x132/0x170
      [ 1239.229091]  ? find_held_lock+0x39/0x1b0
      [ 1239.229091]  ? sched_clock_local+0x10d/0x130
      [ 1239.229091]  netlink_rcv_skb+0x211/0x320
      [ 1239.229091]  ? nfnetlink_bind+0x1d0/0x1d0 [nfnetlink]
      [ 1239.229091]  ? netlink_ack+0x7b0/0x7b0
      [ 1239.229091]  ? ns_capable_common+0x6e/0x110
      [ 1239.229091]  nfnetlink_rcv+0x2d1/0x310 [nfnetlink]
      [ 1239.229091]  ? nfnetlink_rcv_batch+0x10f0/0x10f0 [nfnetlink]
      [ 1239.229091]  ? netlink_deliver_tap+0x829/0x930
      [ 1239.229091]  ? lock_acquire+0x265/0x2e0
      [ 1239.229091]  netlink_unicast+0x406/0x520
      [ 1239.509725]  ? netlink_attachskb+0x5b0/0x5b0
      [ 1239.509725]  ? find_held_lock+0x39/0x1b0
      [ 1239.509725]  netlink_sendmsg+0x987/0xa20
      [ 1239.509725]  ? netlink_unicast+0x520/0x520
      [ 1239.509725]  ? _copy_from_user+0xa9/0xc0
      [ 1239.509725]  __sys_sendto+0x21a/0x2c0
      [ 1239.509725]  ? __ia32_sys_getpeername+0xa0/0xa0
      [ 1239.509725]  ? retint_kernel+0x10/0x10
      [ 1239.509725]  ? sched_clock_cpu+0x132/0x170
      [ 1239.509725]  ? find_held_lock+0x39/0x1b0
      [ 1239.509725]  ? lock_downgrade+0x540/0x540
      [ 1239.509725]  ? up_read+0x1c/0x100
      [ 1239.509725]  ? __do_page_fault+0x763/0x970
      [ 1239.509725]  ? retint_user+0x18/0x18
      [ 1239.509725]  __x64_sys_sendto+0x177/0x180
      [ 1239.509725]  do_syscall_64+0xaa/0x360
      [ 1239.509725]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [ 1239.509725] RIP: 0033:0x7f5a8f468e03
      [ 1239.509725] Code: 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb d0 0f 1f 84 00 00 00 00 00 83 3d 49 c9 2b 00 00 75 13 49 89 ca b8 2c 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 34 c3 48 83 ec 08 e8
      [ 1239.509725] RSP: 002b:00007ffd78d0b778 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
      [ 1239.509725] RAX: ffffffffffffffda RBX: 00007ffd78d0c890 RCX: 00007f5a8f468e03
      [ 1239.509725] RDX: 0000000000000034 RSI: 00007ffd78d0b7e0 RDI: 0000000000000003
      [ 1239.509725] RBP: 00007ffd78d0b7d0 R08: 00007f5a8f15c160 R09: 000000000000000c
      [ 1239.509725] R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffd78d0b7e0
      [ 1239.509725] R13: 0000000000000034 R14: 00007f5a8f9aff60 R15: 00005648040094b0
      [ 1239.509725] Modules linked in: nf_tables_set nf_tables nfnetlink ip_tables x_tables
      [ 1239.670713] ---[ end trace 39375adcda140f11 ]---
      [ 1239.676016] RIP: 0010:nft_hash_walk+0x1d2/0x310 [nf_tables_set]
      [ 1239.682834] Code: 84 d2 7f 10 4c 89 e7 89 44 24 38 e8 d8 5a 17 e0 8b 44 24 38 48 8d 7b 10 41 0f b6 0c 24 48 89 fa 48 89 fe 48 c1 ea 03 83 e6 07 <42> 0f b6 14 3a 40 38 f2 7f 1a 84 d2 74 16
      [ 1239.705108] RSP: 0018:ffff8801118cf358 EFLAGS: 00010246
      [ 1239.711115] RAX: 0000000000000000 RBX: 0000000000020400 RCX: 0000000000000001
      [ 1239.719269] RDX: 0000000000004082 RSI: 0000000000000000 RDI: 0000000000020410
      [ 1239.727401] RBP: ffff880114d5a988 R08: 0000000000007e94 R09: ffff880114dd8030
      [ 1239.735530] R10: ffff880114d5a988 R11: ffffed00229bb006 R12: ffff8801118cf4d0
      [ 1239.743658] R13: ffff8801118cf4d8 R14: 0000000000000000 R15: dffffc0000000000
      [ 1239.751785] FS:  00007f5a8fe0b700(0000) GS:ffff88011b600000(0000) knlGS:0000000000000000
      [ 1239.760993] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 1239.767560] CR2: 00007f5a8ecc27b0 CR3: 000000010608e000 CR4: 00000000001006f0
      [ 1239.775679] Kernel panic - not syncing: Fatal exception
      [ 1239.776630] Kernel Offset: 0x1f000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
      [ 1239.776630] Rebooting in 5 seconds..
      
      Fixes: 20a69341 ("netfilter: nf_tables: add netlink set API")
      Signed-off-by: default avatarTaehee Yoo <ap420073@gmail.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      4ef360dd
    • Florian Westphal's avatar
      netfilter: ip6t_rpfilter: set F_IFACE for linklocal addresses · da786717
      Florian Westphal authored
      Roman reports that DHCPv6 client no longer sees replies from server
      due to
      
      ip6tables -t raw -A PREROUTING -m rpfilter --invert -j DROP
      
      rule.  We need to set the F_IFACE flag for linklocal addresses, they
      are scoped per-device.
      
      Fixes: 47b7e7f8 ("netfilter: don't set F_IFACE on ipv6 fib lookups")
      Reported-by: default avatarRoman Mamedov <rm@romanrm.net>
      Tested-by: default avatarRoman Mamedov <rm@romanrm.net>
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      da786717
    • Matteo Croce's avatar
      ipvs: don't show negative times in ip_vs_conn · b71ed54d
      Matteo Croce authored
      Since commit 500462a9 ("timers: Switch to a non-cascading wheel"),
      timers duration can last even 12.5% more than the scheduled interval.
      
      IPVS has two handlers, /proc/net/ip_vs_conn and /proc/net/ip_vs_conn_sync,
      which shows the remaining time before that a connection expires.
      The default expire time for a connection is 60 seconds, and the
      expiration timer can fire even 4 seconds later than the scheduled time.
      The expiration time is calculated subtracting jiffies to the scheduled
      expiration time, and it's shown as a huge number when the timer fires late,
      since both values are unsigned.
      
      This can confuse script and tools which relies on it, like ipvsadm:
      
          root@mcroce-redhat:~# while ipvsadm -lc |grep SYN_RECV; do sleep 1 ; done
          TCP 00:05  SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 00:04  SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 00:03  SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 00:02  SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 00:01  SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 00:00  SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 68719476:44 SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 68719476:43 SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 68719476:42 SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 68719476:41 SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 68719476:40 SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
          TCP 68719476:39 SYN_RECV    [fc00:1::1]:55732  [fc00:1::2]:8000   [fc00:2000::1]:8000
      Signed-off-by: default avatarMatteo Croce <mcroce@redhat.com>
      Acked-by: default avatarSimon Horman <horms@verge.net.au>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      b71ed54d
    • Matteo Croce's avatar
      jiffies: add utility function to calculate delta in ms · 14d32b25
      Matteo Croce authored
      add jiffies_delta_to_msecs() helper func to calculate the delta between
      two times and eventually 0 if negative.
      Suggested-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarMatteo Croce <mcroce@redhat.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Acked-by: default avatarSimon Horman <horms@verge.net.au>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      14d32b25
    • Tan Hu's avatar
      ipvs: fix race between ip_vs_conn_new() and ip_vs_del_dest() · a53b42c1
      Tan Hu authored
      We came across infinite loop in ipvs when using ipvs in docker
      env.
      
      When ipvs receives new packets and cannot find an ipvs connection,
      it will create a new connection, then if the dest is unavailable
      (i.e. IP_VS_DEST_F_AVAILABLE), the packet will be dropped sliently.
      
      But if the dropped packet is the first packet of this connection,
      the connection control timer never has a chance to start and the
      ipvs connection cannot be released. This will lead to memory leak, or
      infinite loop in cleanup_net() when net namespace is released like
      this:
      
          ip_vs_conn_net_cleanup at ffffffffa0a9f31a [ip_vs]
          __ip_vs_cleanup at ffffffffa0a9f60a [ip_vs]
          ops_exit_list at ffffffff81567a49
          cleanup_net at ffffffff81568b40
          process_one_work at ffffffff810a851b
          worker_thread at ffffffff810a9356
          kthread at ffffffff810b0b6f
          ret_from_fork at ffffffff81697a18
      
      race condition:
          CPU1                           CPU2
          ip_vs_in()
            ip_vs_conn_new()
                                         ip_vs_del_dest()
                                           __ip_vs_unlink_dest()
                                             ~IP_VS_DEST_F_AVAILABLE
            cp->dest && !IP_VS_DEST_F_AVAILABLE
            __ip_vs_conn_put
          ...
          cleanup_net  ---> infinite looping
      
      Fix this by checking whether the timer already started.
      Signed-off-by: default avatarTan Hu <tan.hu@zte.com.cn>
      Reviewed-by: default avatarJiang Biao <jiang.biao2@zte.com.cn>
      Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
      Acked-by: default avatarSimon Horman <horms@verge.net.au>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      a53b42c1
  2. 15 Aug, 2018 13 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · 9a76aba0
      Linus Torvalds authored
      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
    • Guenter Roeck's avatar
      x86: i8259: Add missing include file · 0a957467
      Guenter Roeck authored
      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: default avatarSebastian Gottschall <s.gottschall@dd-wrt.com>
      Suggested-by: default avatarSebastian Gottschall <s.gottschall@dd-wrt.com>
      Fixes: 447ae316 ("x86: Don't include linux/irq.h from asm/hardirq.h")
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0a957467
    • Linus Torvalds's avatar
      Merge tag 'kconfig-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · fa1b5d09
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'kconfig-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 01f0e5cd
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · e026bcc5
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'gcc-plugin-cleanup-v4.19-rc1' of... · 7c7b562c
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'printk-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk · b125d903
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20180814' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 8c326850
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20180814' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · 6f7dac11
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 92d4a036
      Linus Torvalds authored
      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
    • Guenter Roeck's avatar
      x86/l1tf: Fix build error seen if CONFIG_KVM_INTEL is disabled · 1eb46908
      Guenter Roeck authored
      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: default avatarMeelis 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: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1eb46908
    • Linus Torvalds's avatar
      Merge tag 'pstore-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 3529b970
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'hardened-usercopy-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 8c479c2c
      Linus Torvalds authored
      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
  3. 14 Aug, 2018 15 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.19-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 31130a16
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 1202f4fd
      Linus Torvalds authored
      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
    • Vlastimil Babka's avatar
      x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread · d0055f35
      Vlastimil Babka authored
      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: default avatarVlastimil Babka <vbabka@suse.cz>
      Fixes: 6a4d2657 ("x86/smp: Provide topology_is_primary_thread()")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d0055f35
    • Abel Vesa's avatar
      cpu/hotplug: Non-SMP machines do not make use of booted_once · 269777aa
      Abel Vesa authored
      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: default avatarAbel Vesa <abelvesa@linux.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      269777aa
    • Linus Torvalds's avatar
      Merge tag 'docs-4.19' of git://git.lwn.net/linux · e6ecec34
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'sound-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 747f6230
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2c20443e
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'pm-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b018fc98
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'leds-for-4.19-rc1' of... · c07b3682
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 4d88e3d2
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · c6ed444f
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 3860cae6
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 010b0e70
      Linus Torvalds authored
      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
    • Vlastimil Babka's avatar
      x86/init: fix build with CONFIG_SWAP=n · 792adb90
      Vlastimil Babka authored
      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: default avatarTomas Pruzina <pruzinat@gmail.com>
      Fixes: 377eeaa8 ("x86/speculation/l1tf: Limit swap file size to MAX_PA/2")
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      792adb90
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 15bc88cd
      Linus Torvalds authored
      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