2019-05-10 03:24:38

by Yue Haibing

[permalink] [raw]
Subject: [PATCH] ubifs: Fix build error without CONFIG_UBIFS_FS_XATTR

Fix gcc build error while CONFIG_UBIFS_FS_XATTR
is not set

fs/ubifs/dir.o: In function `ubifs_unlink':
dir.c:(.text+0x260): undefined reference to `ubifs_purge_xattrs'
fs/ubifs/dir.o: In function `do_rename':
dir.c:(.text+0x1edc): undefined reference to `ubifs_purge_xattrs'
fs/ubifs/dir.o: In function `ubifs_rmdir':
dir.c:(.text+0x2638): undefined reference to `ubifs_purge_xattrs'

Reported-by: Hulk Robot <[email protected]>
Fixes: 9ca2d7326444 ("ubifs: Limit number of xattrs per inode")
Signed-off-by: YueHaibing <[email protected]>
---
fs/ubifs/ubifs.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
index 379b9f7..fd7f399 100644
--- a/fs/ubifs/ubifs.h
+++ b/fs/ubifs/ubifs.h
@@ -2015,13 +2015,17 @@ int ubifs_xattr_set(struct inode *host, const char *name, const void *value,
size_t size, int flags, bool check_lock);
ssize_t ubifs_xattr_get(struct inode *host, const char *name, void *buf,
size_t size);
-int ubifs_purge_xattrs(struct inode *host);

#ifdef CONFIG_UBIFS_FS_XATTR
void ubifs_evict_xattr_inode(struct ubifs_info *c, ino_t xattr_inum);
+int ubifs_purge_xattrs(struct inode *host);
#else
static inline void ubifs_evict_xattr_inode(struct ubifs_info *c,
ino_t xattr_inum) { }
+static inline int ubifs_purge_xattrs(struct inode *host)
+{
+ return 0;
+}
#endif

#ifdef CONFIG_UBIFS_FS_SECURITY
--
2.7.4



2019-05-13 21:42:26

by Richard Weinberger

[permalink] [raw]
Subject: Re: [PATCH] ubifs: Fix build error without CONFIG_UBIFS_FS_XATTR

On Fri, May 10, 2019 at 5:22 AM YueHaibing <[email protected]> wrote:
>
> Fix gcc build error while CONFIG_UBIFS_FS_XATTR
> is not set
>
> fs/ubifs/dir.o: In function `ubifs_unlink':
> dir.c:(.text+0x260): undefined reference to `ubifs_purge_xattrs'
> fs/ubifs/dir.o: In function `do_rename':
> dir.c:(.text+0x1edc): undefined reference to `ubifs_purge_xattrs'
> fs/ubifs/dir.o: In function `ubifs_rmdir':
> dir.c:(.text+0x2638): undefined reference to `ubifs_purge_xattrs'
>
> Reported-by: Hulk Robot <[email protected]>
> Fixes: 9ca2d7326444 ("ubifs: Limit number of xattrs per inode")
> Signed-off-by: YueHaibing <[email protected]>
> ---
> fs/ubifs/ubifs.h | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/fs/ubifs/ubifs.h b/fs/ubifs/ubifs.h
> index 379b9f7..fd7f399 100644
> --- a/fs/ubifs/ubifs.h
> +++ b/fs/ubifs/ubifs.h
> @@ -2015,13 +2015,17 @@ int ubifs_xattr_set(struct inode *host, const char *name, const void *value,
> size_t size, int flags, bool check_lock);
> ssize_t ubifs_xattr_get(struct inode *host, const char *name, void *buf,
> size_t size);
> -int ubifs_purge_xattrs(struct inode *host);
>
> #ifdef CONFIG_UBIFS_FS_XATTR
> void ubifs_evict_xattr_inode(struct ubifs_info *c, ino_t xattr_inum);
> +int ubifs_purge_xattrs(struct inode *host);
> #else
> static inline void ubifs_evict_xattr_inode(struct ubifs_info *c,
> ino_t xattr_inum) { }
> +static inline int ubifs_purge_xattrs(struct inode *host)
> +{
> + return 0;
> +}
> #endif
>
> #ifdef CONFIG_UBIFS_FS_SECURITY
> --

Applied.

--
Thanks,
//richard