]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 12:07:43 +0000 (13:07 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 12:07:43 +0000 (13:07 +0100)
added patches:
drm-virtio-fix-error-code-in-virtio_gpu_object_shmem_init.patch
tcp-fix-listen-regression-in-5.15.88.patch

queue-5.10/drm-virtio-fix-error-code-in-virtio_gpu_object_shmem_init.patch [new file with mode: 0644]
queue-5.10/series
queue-5.10/tcp-fix-listen-regression-in-5.15.88.patch [new file with mode: 0644]

diff --git a/queue-5.10/drm-virtio-fix-error-code-in-virtio_gpu_object_shmem_init.patch b/queue-5.10/drm-virtio-fix-error-code-in-virtio_gpu_object_shmem_init.patch
new file mode 100644 (file)
index 0000000..bd1d69e
--- /dev/null
@@ -0,0 +1,39 @@
+From harshit.m.mogalapalli@oracle.com  Fri Mar 10 13:05:31 2023
+From: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
+Date: Thu,  2 Mar 2023 09:28:16 -0800
+Subject: drm/virtio: Fix error code in virtio_gpu_object_shmem_init()
+To: dmitry.osipenko@collabora.com, stable@vger.kernel.org
+Cc: kraxel@redhat.com, linux-kernel@vger.kernel.org, emil.l.velikov@gmail.com, airlied@linux.ie, error27@gmail.com, gregkh@linuxfoundation.org, darren.kenny@oracle.com, vegard.nossum@oracle.com, Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
+Message-ID: <20230302172816.3508816-1-harshit.m.mogalapalli@oracle.com>
+
+From: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
+
+In virtio_gpu_object_shmem_init() we are passing NULL to PTR_ERR, which
+is returning 0/success.
+
+Fix this by storing error value in 'ret' variable before assigning
+shmem->pages to NULL.
+
+Found using static analysis with Smatch.
+
+Fixes: 64b88afbd92f ("drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling")
+Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
+Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/virtio/virtgpu_object.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/virtio/virtgpu_object.c
++++ b/drivers/gpu/drm/virtio/virtgpu_object.c
+@@ -159,8 +159,9 @@ static int virtio_gpu_object_shmem_init(
+       shmem->pages = drm_gem_shmem_get_sg_table(&bo->base.base);
+       if (IS_ERR(shmem->pages)) {
+               drm_gem_shmem_unpin(&bo->base.base);
++              ret = PTR_ERR(shmem->pages);
+               shmem->pages = NULL;
+-              return PTR_ERR(shmem->pages);
++              return ret;
+       }
+       if (use_dma_api) {
index 152f647ea45b7260da02949d00454810699ad5c7..da7b98a9e425866bb4217690c6a4aa43a535bdf0 100644 (file)
@@ -516,3 +516,5 @@ x86-resctl-fix-scheduler-confusion-with-current.patch
 drm-display-dp_mst-fix-down-up-message-handling-after-sink-disconnect.patch
 drm-display-dp_mst-fix-down-message-handling-after-a-packet-reception-error.patch
 bluetooth-hci_sock-purge-socket-queues-in-the-destruct-callback.patch
+tcp-fix-listen-regression-in-5.15.88.patch
+drm-virtio-fix-error-code-in-virtio_gpu_object_shmem_init.patch
diff --git a/queue-5.10/tcp-fix-listen-regression-in-5.15.88.patch b/queue-5.10/tcp-fix-listen-regression-in-5.15.88.patch
new file mode 100644 (file)
index 0000000..e6af4ff
--- /dev/null
@@ -0,0 +1,38 @@
+From fdaf88531cfd17b2a710cceb3141ef6f9085ff40 Mon Sep 17 00:00:00 2001
+From: Kuniyuki Iwashima <kuniyu@amazon.com>
+Date: Mon, 13 Feb 2023 20:45:48 +0000
+Subject: tcp: Fix listen() regression in 5.10.163
+
+From: Kuniyuki Iwashima <kuniyu@amazon.com>
+
+commit fdaf88531cfd17b2a710cceb3141ef6f9085ff40 upstream.
+
+When we backport dadd0dcaa67d ("net/ulp: prevent ULP without clone op from
+entering the LISTEN status"), we have accidentally backported a part of
+7a7160edf1bf ("net: Return errno in sk->sk_prot->get_port().") and removed
+err = -EADDRINUSE in inet_csk_listen_start().
+
+Thus, listen() no longer returns -EADDRINUSE even if ->get_port() failed
+as reported in [0].
+
+We set -EADDRINUSE to err just before ->get_port() to fix the regression.
+
+[0]: https://lore.kernel.org/stable/EF8A45D0-768A-4CD5-9A8A-0FA6E610ABF7@winter.cafe/
+
+Reported-by: Winter <winter@winter.cafe>
+Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ net/ipv4/inet_connection_sock.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/net/ipv4/inet_connection_sock.c
++++ b/net/ipv4/inet_connection_sock.c
+@@ -946,6 +946,7 @@ int inet_csk_listen_start(struct sock *s
+        * It is OK, because this socket enters to hash table only
+        * after validation is complete.
+        */
++      err = -EADDRINUSE;
+       inet_sk_state_store(sk, TCP_LISTEN);
+       if (!sk->sk_prot->get_port(sk, inet->inet_num)) {
+               inet->inet_sport = htons(inet->inet_num);