From: Greg Kroah-Hartman Date: Thu, 30 May 2019 03:02:29 +0000 (-0700) Subject: drop rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch from 4.4, 4.9, and... X-Git-Tag: v5.1.6~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bfe38070fe13297943761f4898c3a6593b01f6fc;p=thirdparty%2Fkernel%2Fstable-queue.git drop rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch from 4.4, 4.9, and 4.14 --- diff --git a/queue-4.14/rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch b/queue-4.14/rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch deleted file mode 100644 index d38501a9c59..00000000000 --- a/queue-4.14/rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch +++ /dev/null @@ -1,82 +0,0 @@ -From f27f08d9ea6d623006fca355211cee8ff411ffdf Mon Sep 17 00:00:00 2001 -From: Parav Pandit -Date: Wed, 10 Apr 2019 11:23:04 +0300 -Subject: RDMA/cma: Consider scope_id while binding to ipv6 ll address - -[ Upstream commit 5d7ed2f27bbd482fd29e6b2e204b1a1ee8a0b268 ] - -When two netdev have same link local addresses (such as vlan and non -vlan), two rdma cm listen id should be able to bind to following different -addresses. - -listener-1: addr=lla, scope_id=A, port=X -listener-2: addr=lla, scope_id=B, port=X - -However while comparing the addresses only addr and port are considered, -due to which 2nd listener fails to listen. - -In below example of two listeners, 2nd listener is failing with address in -use error. - -$ rping -sv -a fe80::268a:7ff:feb3:d113%ens2f1 -p 4545& - -$ rping -sv -a fe80::268a:7ff:feb3:d113%ens2f1.200 -p 4545 -rdma_bind_addr: Address already in use - -To overcome this, consider the scope_ids as well which forms the accurate -IPv6 link local address. - -Signed-off-by: Parav Pandit -Reviewed-by: Daniel Jurgens -Signed-off-by: Leon Romanovsky -Signed-off-by: Jason Gunthorpe -Signed-off-by: Sasha Levin ---- - drivers/infiniband/core/cma.c | 25 +++++++++++++++++++------ - 1 file changed, 19 insertions(+), 6 deletions(-) - -diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c -index 7c5eca312aa88..620e2ec92bb5a 100644 ---- a/drivers/infiniband/core/cma.c -+++ b/drivers/infiniband/core/cma.c -@@ -1076,18 +1076,31 @@ static inline int cma_any_addr(struct sockaddr *addr) - return cma_zero_addr(addr) || cma_loopback_addr(addr); - } - --static int cma_addr_cmp(struct sockaddr *src, struct sockaddr *dst) -+static int cma_addr_cmp(const struct sockaddr *src, const struct sockaddr *dst) - { - if (src->sa_family != dst->sa_family) - return -1; - - switch (src->sa_family) { - case AF_INET: -- return ((struct sockaddr_in *) src)->sin_addr.s_addr != -- ((struct sockaddr_in *) dst)->sin_addr.s_addr; -- case AF_INET6: -- return ipv6_addr_cmp(&((struct sockaddr_in6 *) src)->sin6_addr, -- &((struct sockaddr_in6 *) dst)->sin6_addr); -+ return ((struct sockaddr_in *)src)->sin_addr.s_addr != -+ ((struct sockaddr_in *)dst)->sin_addr.s_addr; -+ case AF_INET6: { -+ struct sockaddr_in6 *src_addr6 = (struct sockaddr_in6 *)src; -+ struct sockaddr_in6 *dst_addr6 = (struct sockaddr_in6 *)dst; -+ bool link_local; -+ -+ if (ipv6_addr_cmp(&src_addr6->sin6_addr, -+ &dst_addr6->sin6_addr)) -+ return 1; -+ link_local = ipv6_addr_type(&dst_addr6->sin6_addr) & -+ IPV6_ADDR_LINKLOCAL; -+ /* Link local must match their scope_ids */ -+ return link_local ? (src_addr6->sin6_scope_id != -+ dst_addr6->sin6_scope_id) : -+ 0; -+ } -+ - default: - return ib_addr_cmp(&((struct sockaddr_ib *) src)->sib_addr, - &((struct sockaddr_ib *) dst)->sib_addr); --- -2.20.1 - diff --git a/queue-4.14/series b/queue-4.14/series index 84a9c83e8ca..18ba5937343 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -74,7 +74,6 @@ bcache-return-error-immediately-in-bch_journal_repla.patch bcache-fix-failure-in-journal-relplay.patch bcache-add-failure-check-to-run_cache_set-for-journa.patch bcache-avoid-clang-wunintialized-warning.patch -rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch vfio-ccw-do-not-call-flush_workqueue-while-holding-t.patch vfio-ccw-release-any-channel-program-when-releasing-.patch x86-build-move-_etext-to-actual-end-of-.text.patch diff --git a/queue-4.4/rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch b/queue-4.4/rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch deleted file mode 100644 index dafb350436d..00000000000 --- a/queue-4.4/rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 33963c60bb63145227c96a9593526841d7f74809 Mon Sep 17 00:00:00 2001 -From: Parav Pandit -Date: Wed, 10 Apr 2019 11:23:04 +0300 -Subject: RDMA/cma: Consider scope_id while binding to ipv6 ll address - -[ Upstream commit 5d7ed2f27bbd482fd29e6b2e204b1a1ee8a0b268 ] - -When two netdev have same link local addresses (such as vlan and non -vlan), two rdma cm listen id should be able to bind to following different -addresses. - -listener-1: addr=lla, scope_id=A, port=X -listener-2: addr=lla, scope_id=B, port=X - -However while comparing the addresses only addr and port are considered, -due to which 2nd listener fails to listen. - -In below example of two listeners, 2nd listener is failing with address in -use error. - -$ rping -sv -a fe80::268a:7ff:feb3:d113%ens2f1 -p 4545& - -$ rping -sv -a fe80::268a:7ff:feb3:d113%ens2f1.200 -p 4545 -rdma_bind_addr: Address already in use - -To overcome this, consider the scope_ids as well which forms the accurate -IPv6 link local address. - -Signed-off-by: Parav Pandit -Reviewed-by: Daniel Jurgens -Signed-off-by: Leon Romanovsky -Signed-off-by: Jason Gunthorpe -Signed-off-by: Sasha Levin ---- - drivers/infiniband/core/cma.c | 25 +++++++++++++++++++------ - 1 file changed, 19 insertions(+), 6 deletions(-) - -diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c -index 1454290078def..76e7eca35a110 100644 ---- a/drivers/infiniband/core/cma.c -+++ b/drivers/infiniband/core/cma.c -@@ -902,18 +902,31 @@ static inline int cma_any_addr(struct sockaddr *addr) - return cma_zero_addr(addr) || cma_loopback_addr(addr); - } - --static int cma_addr_cmp(struct sockaddr *src, struct sockaddr *dst) -+static int cma_addr_cmp(const struct sockaddr *src, const struct sockaddr *dst) - { - if (src->sa_family != dst->sa_family) - return -1; - - switch (src->sa_family) { - case AF_INET: -- return ((struct sockaddr_in *) src)->sin_addr.s_addr != -- ((struct sockaddr_in *) dst)->sin_addr.s_addr; -- case AF_INET6: -- return ipv6_addr_cmp(&((struct sockaddr_in6 *) src)->sin6_addr, -- &((struct sockaddr_in6 *) dst)->sin6_addr); -+ return ((struct sockaddr_in *)src)->sin_addr.s_addr != -+ ((struct sockaddr_in *)dst)->sin_addr.s_addr; -+ case AF_INET6: { -+ struct sockaddr_in6 *src_addr6 = (struct sockaddr_in6 *)src; -+ struct sockaddr_in6 *dst_addr6 = (struct sockaddr_in6 *)dst; -+ bool link_local; -+ -+ if (ipv6_addr_cmp(&src_addr6->sin6_addr, -+ &dst_addr6->sin6_addr)) -+ return 1; -+ link_local = ipv6_addr_type(&dst_addr6->sin6_addr) & -+ IPV6_ADDR_LINKLOCAL; -+ /* Link local must match their scope_ids */ -+ return link_local ? (src_addr6->sin6_scope_id != -+ dst_addr6->sin6_scope_id) : -+ 0; -+ } -+ - default: - return ib_addr_cmp(&((struct sockaddr_ib *) src)->sib_addr, - &((struct sockaddr_ib *) dst)->sib_addr); --- -2.20.1 - diff --git a/queue-4.4/series b/queue-4.4/series index f2b8eccab09..f392caebed9 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -108,7 +108,6 @@ bcache-return-error-immediately-in-bch_journal_repla.patch bcache-fix-failure-in-journal-relplay.patch bcache-add-failure-check-to-run_cache_set-for-journa.patch bcache-avoid-clang-wunintialized-warning.patch -rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch x86-build-move-_etext-to-actual-end-of-.text.patch smpboot-place-the-__percpu-annotation-correctly.patch x86-mm-remove-in_nmi-warning-from-64-bit-implementat.patch diff --git a/queue-4.9/rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch b/queue-4.9/rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch deleted file mode 100644 index bd39abee4c3..00000000000 --- a/queue-4.9/rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch +++ /dev/null @@ -1,82 +0,0 @@ -From e176bb13bdd7552df2cafa3474da981a80cd3ed7 Mon Sep 17 00:00:00 2001 -From: Parav Pandit -Date: Wed, 10 Apr 2019 11:23:04 +0300 -Subject: RDMA/cma: Consider scope_id while binding to ipv6 ll address - -[ Upstream commit 5d7ed2f27bbd482fd29e6b2e204b1a1ee8a0b268 ] - -When two netdev have same link local addresses (such as vlan and non -vlan), two rdma cm listen id should be able to bind to following different -addresses. - -listener-1: addr=lla, scope_id=A, port=X -listener-2: addr=lla, scope_id=B, port=X - -However while comparing the addresses only addr and port are considered, -due to which 2nd listener fails to listen. - -In below example of two listeners, 2nd listener is failing with address in -use error. - -$ rping -sv -a fe80::268a:7ff:feb3:d113%ens2f1 -p 4545& - -$ rping -sv -a fe80::268a:7ff:feb3:d113%ens2f1.200 -p 4545 -rdma_bind_addr: Address already in use - -To overcome this, consider the scope_ids as well which forms the accurate -IPv6 link local address. - -Signed-off-by: Parav Pandit -Reviewed-by: Daniel Jurgens -Signed-off-by: Leon Romanovsky -Signed-off-by: Jason Gunthorpe -Signed-off-by: Sasha Levin ---- - drivers/infiniband/core/cma.c | 25 +++++++++++++++++++------ - 1 file changed, 19 insertions(+), 6 deletions(-) - -diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c -index 85d4ef319c905..0c7d63e0f0fde 100644 ---- a/drivers/infiniband/core/cma.c -+++ b/drivers/infiniband/core/cma.c -@@ -1021,18 +1021,31 @@ static inline int cma_any_addr(struct sockaddr *addr) - return cma_zero_addr(addr) || cma_loopback_addr(addr); - } - --static int cma_addr_cmp(struct sockaddr *src, struct sockaddr *dst) -+static int cma_addr_cmp(const struct sockaddr *src, const struct sockaddr *dst) - { - if (src->sa_family != dst->sa_family) - return -1; - - switch (src->sa_family) { - case AF_INET: -- return ((struct sockaddr_in *) src)->sin_addr.s_addr != -- ((struct sockaddr_in *) dst)->sin_addr.s_addr; -- case AF_INET6: -- return ipv6_addr_cmp(&((struct sockaddr_in6 *) src)->sin6_addr, -- &((struct sockaddr_in6 *) dst)->sin6_addr); -+ return ((struct sockaddr_in *)src)->sin_addr.s_addr != -+ ((struct sockaddr_in *)dst)->sin_addr.s_addr; -+ case AF_INET6: { -+ struct sockaddr_in6 *src_addr6 = (struct sockaddr_in6 *)src; -+ struct sockaddr_in6 *dst_addr6 = (struct sockaddr_in6 *)dst; -+ bool link_local; -+ -+ if (ipv6_addr_cmp(&src_addr6->sin6_addr, -+ &dst_addr6->sin6_addr)) -+ return 1; -+ link_local = ipv6_addr_type(&dst_addr6->sin6_addr) & -+ IPV6_ADDR_LINKLOCAL; -+ /* Link local must match their scope_ids */ -+ return link_local ? (src_addr6->sin6_scope_id != -+ dst_addr6->sin6_scope_id) : -+ 0; -+ } -+ - default: - return ib_addr_cmp(&((struct sockaddr_ib *) src)->sib_addr, - &((struct sockaddr_ib *) dst)->sib_addr); --- -2.20.1 - diff --git a/queue-4.9/series b/queue-4.9/series index b5a6fd842ec..2dd2bbaee53 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -47,7 +47,6 @@ bcache-return-error-immediately-in-bch_journal_repla.patch bcache-fix-failure-in-journal-relplay.patch bcache-add-failure-check-to-run_cache_set-for-journa.patch bcache-avoid-clang-wunintialized-warning.patch -rdma-cma-consider-scope_id-while-binding-to-ipv6-ll-.patch x86-build-move-_etext-to-actual-end-of-.text.patch smpboot-place-the-__percpu-annotation-correctly.patch x86-mm-remove-in_nmi-warning-from-64-bit-implementat.patch