From cde9070d9970eef1f7ec2360586c802a16230ad8 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 07:43:50 +0000
Subject: [PATCH] rtl88x2CE_WiFi_linux driver

---
 kernel/drivers/crypto/rockchip/cryptodev_linux/ioctl.c |   32 +++++++++++---------------------
 1 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/kernel/drivers/crypto/rockchip/cryptodev_linux/ioctl.c b/kernel/drivers/crypto/rockchip/cryptodev_linux/ioctl.c
index d985356..032b016 100644
--- a/kernel/drivers/crypto/rockchip/cryptodev_linux/ioctl.c
+++ b/kernel/drivers/crypto/rockchip/cryptodev_linux/ioctl.c
@@ -131,6 +131,8 @@
 		return -EINVAL;
 	}
 
+	memset(&keys, 0x00, sizeof(keys));
+
 	switch (sop->cipher) {
 	case 0:
 		break;
@@ -682,19 +684,6 @@
 	return 0;
 }
 
-static int
-clonefd(struct file *filp)
-{
-	int ret;
-	ret = get_unused_fd_flags(0);
-	if (ret >= 0) {
-			get_file(filp);
-			fd_install(ret, filp);
-	}
-
-	return ret;
-}
-
 #ifdef ENABLE_ASYNC
 /* enqueue a job for asynchronous completion
  *
@@ -961,18 +950,19 @@
 	case CIOCASYMFEAT:
 		return put_user(0, p);
 	case CRIOGET:
-		fd = clonefd(filp);
+		fd = get_unused_fd_flags(0);
+		if (unlikely(fd < 0))
+			return fd;
+
 		ret = put_user(fd, p);
 		if (unlikely(ret)) {
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0))
-			sys_close(fd);
-#elif (LINUX_VERSION_CODE < KERNEL_VERSION(5, 11, 0))
-			ksys_close(fd);
-#else
-			close_fd(fd);
-#endif
+			put_unused_fd(fd);
 			return ret;
 		}
+
+		get_file(filp);
+		fd_install(fd, filp);
+
 		return ret;
 	case CIOCGSESSION:
 		if (unlikely(copy_from_user(&sop, arg, sizeof(sop))))

--
Gitblit v1.6.2