From: Greg Kroah-Hartman Date: Fri, 10 Mar 2023 12:07:43 +0000 (+0100) Subject: 5.10-stable patches X-Git-Tag: v6.1.17~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dd34e67896cb68194106d4123e4af608f218225d;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: drm-virtio-fix-error-code-in-virtio_gpu_object_shmem_init.patch tcp-fix-listen-regression-in-5.15.88.patch --- 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 index 00000000000..bd1d69e069a --- /dev/null +++ b/queue-5.10/drm-virtio-fix-error-code-in-virtio_gpu_object_shmem_init.patch @@ -0,0 +1,39 @@ +From harshit.m.mogalapalli@oracle.com Fri Mar 10 13:05:31 2023 +From: Harshit Mogalapalli +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 +Message-ID: <20230302172816.3508816-1-harshit.m.mogalapalli@oracle.com> + +From: Harshit Mogalapalli + +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 +Reviewed-by: Dmitry Osipenko +Signed-off-by: Greg Kroah-Hartman +--- + 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) { diff --git a/queue-5.10/series b/queue-5.10/series index 152f647ea45..da7b98a9e42 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -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 index 00000000000..e6af4ff651c --- /dev/null +++ b/queue-5.10/tcp-fix-listen-regression-in-5.15.88.patch @@ -0,0 +1,38 @@ +From fdaf88531cfd17b2a710cceb3141ef6f9085ff40 Mon Sep 17 00:00:00 2001 +From: Kuniyuki Iwashima +Date: Mon, 13 Feb 2023 20:45:48 +0000 +Subject: tcp: Fix listen() regression in 5.10.163 + +From: Kuniyuki Iwashima + +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 +Signed-off-by: Kuniyuki Iwashima +Signed-off-by: Greg Kroah-Hartman +--- + 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);