aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorRichard Yu <yurichard3839@gmail.com>2019-10-12 10:32:04 +0800
committerRichard Yu <yurichard3839@gmail.com>2019-10-12 10:32:04 +0800
commitf6ee8cb4e28846b94fd02f169197b5f6a3fe451d (patch)
tree86f6d9bbd63765a441f01c4148f0bbdd4fa39122 /kernel
parent679f10bdc7c96673df3e74e844110b183ce477c1 (diff)
cifsd: update to git (2019-10-08)
Signed-off-by: Richard Yu <yurichard3839@gmail.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cifsd/Makefile6
-rw-r--r--kernel/cifsd/patches/001-mips-vfree_vmalloc-fix.patch33
-rw-r--r--kernel/cifsd/patches/002-fix-xattr_list.patch89
3 files changed, 3 insertions, 125 deletions
diff --git a/kernel/cifsd/Makefile b/kernel/cifsd/Makefile
index b0eeca772..03707536c 100644
--- a/kernel/cifsd/Makefile
+++ b/kernel/cifsd/Makefile
@@ -5,9 +5,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/cifsd-team/cifsd.git
-PKG_SOURCE_DATE:=2019-08-19
-PKG_SOURCE_VERSION:=b919acf32027cd5d7616726336305b47e24f02ab
-PKG_MIRROR_HASH:=fd64b2cb78b8847f11ff79cbe06c3416bb0e67ca7433215d20c810fbfff6ee8f
+PKG_SOURCE_DATE:=2019-10-08
+PKG_SOURCE_VERSION:=ef6e0d530907576bb886866bef53e2f44c054c7f
+PKG_MIRROR_HASH:=bc06d3bdc36efc85e6eb5c6ba966e9720455dcbd074541cd9cf807a4bd5246f9
PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
diff --git a/kernel/cifsd/patches/001-mips-vfree_vmalloc-fix.patch b/kernel/cifsd/patches/001-mips-vfree_vmalloc-fix.patch
deleted file mode 100644
index 6d00df0ea..000000000
--- a/kernel/cifsd/patches/001-mips-vfree_vmalloc-fix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/vfs_cache.c
-+++ b/vfs_cache.c
-@@ -232,7 +232,7 @@ int __init cifsd_inode_hash_init(void)
- size = bucketsize << inode_hash_shift;
-
- /* init master fp hash table */
-- inode_hashtable = __vmalloc(size, GFP_ATOMIC, PAGE_KERNEL);
-+ inode_hashtable = vmalloc(size);
- if (!inode_hashtable)
- return -ENOMEM;
-
---- b/vfs.c
-+++ b/vfs.c
-@@ -17,6 +17,8 @@
- #include <linux/fsnotify.h>
- #include <linux/dcache.h>
- #include <linux/fiemap.h>
-+#include <linux/slab.h>
-+#include <linux/vmalloc.h>
-
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
- #include <linux/sched/xacct.h>
---- b/vfs_cache.c
-+++ b/vfs_cache.c
-@@ -5,6 +5,8 @@
- */
-
- #include <linux/fs.h>
-+#include <linux/slab.h>
-+#include <linux/vmalloc.h>
-
- /* @FIXME */
- #include "glob.h"
diff --git a/kernel/cifsd/patches/002-fix-xattr_list.patch b/kernel/cifsd/patches/002-fix-xattr_list.patch
deleted file mode 100644
index af3680df6..000000000
--- a/kernel/cifsd/patches/002-fix-xattr_list.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-===
-
-SMB1/SMB2 don't know exactly how vfs layer allocates xattr list,
-via kmalloc() or vmalloc(). Introduce cifsd_vfs_xattr_free() and
-keep both xattr allocation and de-allocation in one place.
-
-Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
----
- smb1pdu.c | 4 ++--
- smb2pdu.c | 6 ++----
- vfs.c | 6 ++++++
- vfs.h | 1 +
- 4 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/smb1pdu.c b/smb1pdu.c
-index 35599ef..8cb92cf 100644
---- a/smb1pdu.c
-+++ b/smb1pdu.c
-@@ -8,6 +8,7 @@
- #include <linux/posix_acl_xattr.h>
- #include <linux/namei.h>
- #include <linux/statfs.h>
-+#include <linux/vmalloc.h>
-
- #include "glob.h"
- #include "smb1pdu.h"
-@@ -3844,8 +3845,7 @@ done:
- rsp->ByteCount = cpu_to_le16(rsp_data_cnt + 5);
- inc_rfc1001_len(&rsp->hdr, (10 * 2 + rsp->ByteCount));
- out:
-- if (xattr_list)
-- vfree(xattr_list);
-+ cifsd_vfs_xattr_free(xattr_list);
- return rc;
- }
-
-diff --git a/smb2pdu.c b/smb2pdu.c
-index 754258f..2727622 100644
---- a/smb2pdu.c
-+++ b/smb2pdu.c
-@@ -3867,8 +3867,7 @@ done:
- rsp->OutputBufferLength = cpu_to_le32(rsp_data_cnt);
- inc_rfc1001_len(rsp_org, rsp_data_cnt);
- out:
-- if (xattr_list)
-- vfree(xattr_list);
-+ cifsd_vfs_xattr_free(xattr_list);
- return rc;
- }
-
-@@ -4151,8 +4150,7 @@ static void get_file_stream_info(struct cifsd_work *work,
- /* last entry offset should be 0 */
- file_info->NextEntryOffset = 0;
- out:
-- if (xattr_list)
-- vfree(xattr_list);
-+ cifsd_vfs_xattr_free(xattr_list);
-
- rsp->OutputBufferLength = cpu_to_le32(nbytes);
- inc_rfc1001_len(rsp_org, nbytes);
-diff --git a/vfs.c b/vfs.c
-index 556b1a5..6da6f8e 100644
---- a/vfs.c
-+++ b/vfs.c
-@@ -1550,6 +1550,12 @@ int cifsd_vfs_remove_xattr(struct dentry *dentry, char *attr_name)
- return vfs_removexattr(dentry, attr_name);
- }
-
-+void cifsd_vfs_xattr_free(char *xattr)
-+{
-+ if (xattr)
-+ vfree(xattr);
-+}
-+
- int cifsd_vfs_unlink(struct dentry *dir, struct dentry *dentry)
- {
- int err = 0;
-diff --git a/vfs.h b/vfs.h
-index ee54daf..16b4f9e 100644
---- a/vfs.h
-+++ b/vfs.h
-@@ -186,6 +186,7 @@ int cifsd_vfs_xattr_stream_name(char *stream_name,
-
- int cifsd_vfs_truncate_xattr(struct dentry *dentry, int wo_streams);
- int cifsd_vfs_remove_xattr(struct dentry *dentry, char *attr_name);
-+void cifsd_vfs_xattr_free(char *xattr);
-
- int cifsd_vfs_kern_path(char *name, unsigned int flags, struct path *path,
- bool caseless);