summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-10-02 10:23:45 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2018-10-08 08:36:58 +0200
commitd99f10db6da95af5d878866c3504fdb5b774e068 (patch)
tree37c9b5ddeae08abb50bfab1e3f65187661051455
parentedf126f64901c6457ff1afd2d2d63234842873b8 (diff)
downloadbarebox-d99f10db6da95af5d878866c3504fdb5b774e068.tar.gz
barebox-d99f10db6da95af5d878866c3504fdb5b774e068.tar.xz
Add kmemdup
We have kmemdup as a UBIFS specific variant, put it into the correct header files. Instead of reimplementing it just use memdup we already have. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--fs/ubifs/ubifs.c17
-rw-r--r--fs/ubifs/ubifs.h2
-rw-r--r--include/linux/string.h7
-rw-r--r--include/string.h1
4 files changed, 7 insertions, 20 deletions
diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index f9b4f4babc..97cbe4991f 100644
--- a/fs/ubifs/ubifs.c
+++ b/fs/ubifs/ubifs.c
@@ -86,23 +86,6 @@ struct ubifs_compressor *ubifs_compressors[UBIFS_COMPR_TYPES_CNT];
#ifdef __BAREBOX__
/* from mm/util.c */
-/**
- * kmemdup - duplicate region of memory
- *
- * @src: memory region to duplicate
- * @len: memory region length
- * @gfp: GFP mask to use
- */
-void *kmemdup(const void *src, size_t len, gfp_t gfp)
-{
- void *p;
-
- p = kmalloc(len, gfp);
- if (p)
- memcpy(p, src, len);
- return p;
-}
-
struct crypto_comp {
int compressor;
};
diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
index 19af05ade3..d4df668ca6 100644
--- a/fs/ubifs/ubifs.h
+++ b/fs/ubifs/ubifs.h
@@ -71,8 +71,6 @@ struct page {
struct inode *inode;
};
-void *kmemdup(const void *src, size_t len, gfp_t gfp);
-
/* uapi/linux/limits.h */
#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */
diff --git a/include/linux/string.h b/include/linux/string.h
index ed4eeb5519..3418b4fbe4 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -115,4 +115,11 @@ void *memchr_inv(const void *start, int c, size_t bytes);
}
#endif
+void *memdup(const void *, size_t);
+
+static inline void *kmemdup(const void *src, size_t len, gfp_t gfp)
+{
+ return memdup(src, len);
+}
+
#endif /* _LINUX_STRING_H_ */
diff --git a/include/string.h b/include/string.h
index 6ceb33224e..8c63f22491 100644
--- a/include/string.h
+++ b/include/string.h
@@ -3,7 +3,6 @@
#include <linux/string.h>
-void *memdup(const void *, size_t);
int strtobool(const char *str, int *val);
void *__default_memset(void *, int, __kernel_size_t);