Whamcloud - gitweb
LU-17031 build: fix refefine __compiletime_strlen error 53/51953/2
authorQian Yingjin <qian@ddn.com>
Wed, 16 Aug 2023 02:11:39 +0000 (22:11 -0400)
committerOleg Drokin <green@whamcloud.com>
Thu, 31 Aug 2023 06:39:34 +0000 (06:39 +0000)
Lustre build failed on Ubuntu 2204 kernel v5.17 with "redefine
__compiletime_strlen".
This patch fixes this build error.

Fixes: 919b93b951 ("LU-16510 build: fortified memcpy from linux 6.1")
Signed-off-by: Qian Yingjin <qian@ddn.com>
Change-Id: Ic26daecd6b91614e01b5b0030f40eede205a21f7
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51953
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
libcfs/include/libcfs/linux/linux-fortify-string.h

index aeed8c5..b00d9f7 100644 (file)
@@ -28,6 +28,7 @@ void __read_overflow2_field(size_t avail, size_t wanted) __compiletime_warning("
 void __write_overflow(void) __compiletime_error("detected write beyond size of object (1st parameter)");
 void __write_overflow_field(size_t avail, size_t wanted) __compiletime_warning("detected write beyond size of field (1st parameter); maybe use struct_group()?");
 
+#ifndef __compiletime_strlen
 #define __compiletime_strlen(p)                                        \
 ({                                                             \
        char *__p = (char *)(p);                                \
@@ -42,6 +43,7 @@ void __write_overflow_field(size_t avail, size_t wanted) __compiletime_warning("
        }                                                       \
        __ret;                                                  \
 })
+#endif
 
 #if defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)
 extern void *__underlying_memchr(const void *p, int c, __kernel_size_t size) __RENAME(memchr);