]> git.proxmox.com Git - pve-kernel.git/commitdiff
rebase patches on top of Ubuntu-4.15.0-46.49
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 6 Feb 2019 10:07:36 +0000 (11:07 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 6 Feb 2019 10:41:14 +0000 (11:41 +0100)
(generated with debian/scripts/import-upstream-tag)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
patches/kernel/0003-pci-Enable-overrides-for-missing-ACS-capabilities-4..patch
patches/kernel/0008-net-tcp-Fix-socket-lookups-with-SO_BINDTODEVICE.patch [deleted file]
patches/kernel/0009-UBUNTU-SAUCE-fan-Fix-NULL-pointer-dereference.patch [deleted file]

index 884142390d8bfa1b31fcda1d13326d1a55ac6ef8..1c3fc09ef30896b3205ed165385ea12ed0ecc61c 100644 (file)
@@ -54,7 +54,7 @@ Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
  2 files changed, 110 insertions(+)
 
 diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index 51210d10d905..ceb1b471d249 100644
+index 43b61d87c9a3..00bc6786e6e0 100644
 --- a/Documentation/admin-guide/kernel-parameters.txt
 +++ b/Documentation/admin-guide/kernel-parameters.txt
 @@ -3067,6 +3067,15 @@
@@ -74,10 +74,10 @@ index 51210d10d905..ceb1b471d249 100644
                                Safety option to keep boot IRQs enabled. This
                                should never be necessary.
 diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index facd0d08a380..6ed8f3ead0dd 100644
+index 2956ebbd83dc..8dceb0838970 100644
 --- a/drivers/pci/quirks.c
 +++ b/drivers/pci/quirks.c
-@@ -3703,6 +3703,106 @@ static int __init pci_apply_final_quirks(void)
+@@ -3705,6 +3705,106 @@ static int __init pci_apply_final_quirks(void)
  
  fs_initcall_sync(pci_apply_final_quirks);
  
@@ -184,7 +184,7 @@ index facd0d08a380..6ed8f3ead0dd 100644
  /*
   * Following are device-specific reset methods which can be used to
   * reset a single function if other methods (e.g. FLR, PM D0->D3) are
-@@ -4542,6 +4642,7 @@ static const struct pci_dev_acs_enabled {
+@@ -4558,6 +4658,7 @@ static const struct pci_dev_acs_enabled {
        { PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs },
        /* APM X-Gene */
        { PCI_VENDOR_ID_AMCC, 0xE004, pci_quirk_xgene_acs },
diff --git a/patches/kernel/0008-net-tcp-Fix-socket-lookups-with-SO_BINDTODEVICE.patch b/patches/kernel/0008-net-tcp-Fix-socket-lookups-with-SO_BINDTODEVICE.patch
deleted file mode 100644 (file)
index b198390..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: David Ahern <dsahern@gmail.com>
-Date: Mon, 18 Jun 2018 12:30:37 -0700
-Subject: [PATCH] net/tcp: Fix socket lookups with SO_BINDTODEVICE
-
-Similar to 69678bcd4d2d ("udp: fix SO_BINDTODEVICE"), TCP socket lookups
-need to fail if dev_match is not true. Currently, a packet to a given port
-can match a socket bound to device when it should not. In the VRF case,
-this causes the lookup to hit a VRF socket and not a global socket
-resulting in a response trying to go through the VRF when it should it.
-
-Fixes: 3fa6f616a7a4d ("net: ipv4: add second dif to inet socket lookups")
-Fixes: 4297a0ef08572 ("net: ipv6: add second dif to inet6 socket lookups")
-Reported-by: Lou Berger <lberger@labn.net>
-Diagnosed-by: Renato Westphal <renato@opensourcerouting.org>
-Tested-by: Renato Westphal <renato@opensourcerouting.org>
-Signed-off-by: David Ahern <dsahern@gmail.com>
----
- net/ipv4/inet_hashtables.c  | 4 ++--
- net/ipv6/inet6_hashtables.c | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c
-index e7d15fb0d94d..24b066c32e06 100644
---- a/net/ipv4/inet_hashtables.c
-+++ b/net/ipv4/inet_hashtables.c
-@@ -188,9 +188,9 @@ static inline int compute_score(struct sock *sk, struct net *net,
-                       bool dev_match = (sk->sk_bound_dev_if == dif ||
-                                         sk->sk_bound_dev_if == sdif);
--                      if (exact_dif && !dev_match)
-+                      if (!dev_match)
-                               return -1;
--                      if (sk->sk_bound_dev_if && dev_match)
-+                      if (sk->sk_bound_dev_if)
-                               score += 4;
-               }
-               if (sk->sk_incoming_cpu == raw_smp_processor_id())
-diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c
-index b01858f5deb1..6dc93ac28261 100644
---- a/net/ipv6/inet6_hashtables.c
-+++ b/net/ipv6/inet6_hashtables.c
-@@ -113,9 +113,9 @@ static inline int compute_score(struct sock *sk, struct net *net,
-                       bool dev_match = (sk->sk_bound_dev_if == dif ||
-                                         sk->sk_bound_dev_if == sdif);
--                      if (exact_dif && !dev_match)
-+                      if (!dev_match)
-                               return -1;
--                      if (sk->sk_bound_dev_if && dev_match)
-+                      if (sk->sk_bound_dev_if)
-                               score++;
-               }
-               if (sk->sk_incoming_cpu == raw_smp_processor_id())
diff --git a/patches/kernel/0009-UBUNTU-SAUCE-fan-Fix-NULL-pointer-dereference.patch b/patches/kernel/0009-UBUNTU-SAUCE-fan-Fix-NULL-pointer-dereference.patch
deleted file mode 100644 (file)
index 3245ee8..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Juerg Haefliger <juerg.haefliger@canonical.com>
-Date: Fri, 18 Jan 2019 13:40:02 +0100
-Subject: [PATCH] UBUNTU: SAUCE: fan: Fix NULL pointer dereference
-
-BugLink: https://bugs.launchpad.net/bugs/1811803
-
-Fix a NULL pointer dereference in fan code that can easily be triggered
-by running:
-$ sudo ip link add foo type ipip
-
-Which leads to:
-[    1.330067] BUG: unable to handle kernel NULL pointer dereference at 0000000000000108
-[    1.330792] IP: [<ffffffff817e8132>] ipip_netlink_fan.isra.7+0x12/0x280
-[    1.331399] PGD 800000003fb94067 PUD 3fb93067 PMD 0
-[    1.331882] Oops: 0000 [#1] SMP
-[    1.332200] Modules linked in:
-[    1.332492] CPU: 0 PID: 137 Comm: ip Not tainted 4.4.167+ #5
-[    1.333001] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.1-1ubuntu1 04/01/2014
-[    1.333740] task: ffff88003c38a640 ti: ffff88003fb5c000 task.ti: ffff88003fb5c000
-[    1.334375] RIP: 0010:[<ffffffff817e8132>]  [<ffffffff817e8132>] ipip_netlink_fan.isra.7+0x12/0x280
-[    1.335193] RSP: 0018:ffff88003fb5f778  EFLAGS: 00010246
-[    1.335671] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
-[    1.336305] RDX: ffff88003fb5f7f0 RSI: ffff88003fa3f840 RDI: 0000000000000000
-[    1.336940] RBP: ffff88003fb5f7a0 R08: 000000000000000a R09: 0000000000000092
-[    1.337587] R10: 0000000000000000 R11: 00000000000001ad R12: ffff88003fa3f000
-[    1.338267] R13: ffff88003fb5f9d0 R14: ffff88003fa3f840 R15: ffffffff81f4b240
-[    1.338904] FS:  00007f535979b700(0000) GS:ffff88003e400000(0000) knlGS:0000000000000000
-[    1.339590] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-[    1.340066] CR2: 0000000000000108 CR3: 000000003fb60000 CR4: 0000000000000670
-[    1.340750] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
-[    1.341341] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
-[    1.341909] Stack:
-[    1.342080]  0000000000000000 ffff88003fa3f000 ffff88003fb5f9d0 ffff88003fa3f840
-[    1.342725]  ffffffff81f4b240 ffff88003fb5f828 ffffffff817e8515 0000000381356f0e
-[    1.343334]  0000000000000000 0000000000000000 0000000000000000 0000000000000000
-[    1.343943] Call Trace:
-[    1.344141]  [<ffffffff817e8515>] ipip_newlink+0xa5/0xc0
-[    1.344553]  [<ffffffff81782f5b>] ? __netlink_ns_capable+0x3b/0x40
-[    1.345029]  [<ffffffff817651fd>] rtnl_newlink+0x6fd/0x8b0
-[    1.345699]  [<ffffffff811f92b1>] ? kmem_cache_alloc+0x1a1/0x1f0
-[    1.346165]  [<ffffffff8119abd5>] ? mempool_alloc_slab+0x15/0x20
-[    1.346630]  [<ffffffff81436463>] ? validate_nla+0x93/0x1a0
-[    1.347060]  [<ffffffff81436680>] ? nla_parse+0xa0/0x100
-[    1.347474]  [<ffffffff81436732>] ? nla_strlcpy+0x52/0x60
-[    1.347891]  [<ffffffff81762099>] ? rtnl_link_ops_get+0x39/0x50
-[    1.348347]  [<ffffffff81764c76>] ? rtnl_newlink+0x176/0x8b0
-[    1.348784]  [<ffffffff8176373c>] rtnetlink_rcv_msg+0xec/0x230
-[    1.349237]  [<ffffffff811fce3b>] ? __kmalloc_node_track_caller+0x24b/0x310
-[    1.349774]  [<ffffffff8173e397>] ? __alloc_skb+0x87/0x1d0
-[    1.350198]  [<ffffffff81763650>] ? rtnetlink_rcv+0x30/0x30
-[    1.350628]  [<ffffffff81786da6>] netlink_rcv_skb+0xa6/0xc0
-[    1.351059]  [<ffffffff81763648>] rtnetlink_rcv+0x28/0x30
-[    1.351476]  [<ffffffff81786770>] netlink_unicast+0x190/0x240
-[    1.351919]  [<ffffffff81786b5a>] netlink_sendmsg+0x33a/0x3b0
-[    1.352363]  [<ffffffff813af211>] ? aa_sock_msg_perm+0x61/0x150
-[    1.352820]  [<ffffffff81734bde>] sock_sendmsg+0x3e/0x50
-[    1.353235]  [<ffffffff817356a7>] ___sys_sendmsg+0x287/0x2a0
-[    1.353672]  [<ffffffff8120ed2b>] ? mem_cgroup_try_charge+0x6b/0x1e0
-[    1.354162]  [<ffffffff811cb9ed>] ? handle_mm_fault+0xecd/0x1b80
-[    1.354625]  [<ffffffff81239fc7>] ? __alloc_fd+0xc7/0x190
-[    1.355044]  [<ffffffff81736021>] __sys_sendmsg+0x51/0x90
-[    1.355525]  [<ffffffff81736072>] SyS_sendmsg+0x12/0x20
-[    1.355933]  [<ffffffff81866e1b>] entry_SYSCALL_64_fastpath+0x22/0xcb
-[    1.356426] Code: 50 01 00 00 01 eb d3 49 8d 94 24 b8 08 00 00 eb ac e8 83 cf 89 ff 0f 1f 00 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 41 55 41 54 53 <48> 8b 9f 08 01 00 00 48 85 db 74 1e 8b 02 85 c0 75 25 44 0f b7
-[    1.358557] RIP  [<ffffffff817e8132>] ipip_netlink_fan.isra.7+0x12/0x280
-[    1.359086]  RSP <ffff88003fb5f778>
-[    1.359359] CR2: 0000000000000108
-[    1.359637] ---[ end trace 7820fbc7ced5dd6e ]---
-
-Signed-off-by: Juerg Haefliger <juergh@canonical.com>
-Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
----
- net/ipv4/ipip.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c
-index 147ff0466c2b..85c5e07fd619 100644
---- a/net/ipv4/ipip.c
-+++ b/net/ipv4/ipip.c
-@@ -720,7 +720,7 @@ static int ipip_netlink_fan(struct nlattr *data[], struct ip_tunnel *t,
-       struct nlattr *attr;
-       int rem, rv;
--      if (!data[IFLA_IPTUN_FAN_MAP])
-+      if (data == NULL || !data[IFLA_IPTUN_FAN_MAP])
-               return 0;
-       if (parms->iph.daddr)