Re: [PATCH v2] scsi: target: pin db_root for metadata writes

lkp <[email protected]>
Newsgroups gmane.linux.scsi,gmane.linux.scsi.target.devel,gmane.linux.kernel,gmane.linux.kernel.stable
Message-ID <[email protected]>
Hi Runyu,

kernel test robot noticed the following build errors:

[auto build test ERROR on mkp-scsi/for-next]
[also build test ERROR on v7.2]
[cannot apply to linus/master next-20260821]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Runyu-Xiao/scsi-target-pin-db_root-for-metadata-writes/20260818-131442
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
patch link:    https://lore.kernel.org/r/20260818051442.1523210-1-runyu.xiao%40seu.edu.cn
patch subject: [PATCH v2] scsi: target: pin db_root for metadata writes
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20260823/[email protected]/config)
compiler: powerpc64-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260823/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   In file included from arch/powerpc/include/asm/paca.h:16,
                    from arch/powerpc/include/asm/current.h:13,
                    from include/linux/thread_info.h:23,
                    from include/asm-generic/preempt.h:5,
                    from arch/powerpc/include/asm/preempt.h:5,
                    from include/linux/preempt.h:79,
                    from include/linux/spinlock.h:56,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:7,
                    from include/linux/umh.h:4,
                    from include/linux/kmod.h:9,
                    from include/linux/module.h:18,
                    from drivers/target/target_core_configfs.c:16:
   drivers/target/target_core_configfs.c: In function 'target_init_dbroot':
>> drivers/target/target_core_internal.h:169:33: error: passing argument 2 of 'sized_strscpy' makes pointer from integer without a cast [-Wint-conversion]
     169 | #define DB_ROOT_LEN             4096
         |                                 ^~~~
         |                                 |
         |                                 int
   include/linux/string.h:80:28: note: in definition of macro '__strscpy1'
      80 |         sized_strscpy(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
         |                            ^~~
   drivers/target/target_core_configfs.c:3757:9: note: in expansion of macro 'strscpy'
    3757 |         strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED);
         |         ^~~~~~~
   drivers/target/target_core_configfs.c:3757:32: note: in expansion of macro 'DB_ROOT_LEN'
    3757 |         strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED);
         |                                ^~~~~~~~~~~
   In file included from include/linux/string.h:383:
   include/linux/fortify-string.h:227:83: note: expected 'const char *' but argument is of type 'int'
     227 | __FORTIFY_INLINE ssize_t sized_strscpy(char * const POS p, const char * const POS q, size_t size)
         |                                                            ~~~~~~~~~~~~~~~~~~~~~~~^
>> include/linux/string.h:80:60: error: passing argument 3 of 'sized_strscpy' makes integer from pointer without a cast [-Wint-conversion]
      80 |         sized_strscpy(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
   include/linux/args.h:25:24: note: in expansion of macro '__strscpy1'
      25 | #define __CONCAT(a, b) a ## b
         |                        ^
   include/linux/args.h:26:27: note: in expansion of macro '__CONCAT'
      26 | #define CONCATENATE(a, b) __CONCAT(a, b)
         |                           ^~~~~~~~
   include/linux/string.h:111:9: note: in expansion of macro 'CONCATENATE'
     111 |         CONCATENATE(__strscpy, COUNT_ARGS(__VA_ARGS__))(dst, src, __VA_ARGS__)
         |         ^~~~~~~~~~~
   drivers/target/target_core_configfs.c:3757:9: note: in expansion of macro 'strscpy'
    3757 |         strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED);
         |         ^~~~~~~
   include/linux/fortify-string.h:227:93: note: expected 'long unsigned int' but argument is of type 'char *'
     227 | __FORTIFY_INLINE ssize_t sized_strscpy(char * const POS p, const char * const POS q, size_t size)
         |                                                                                      ~~~~~~~^~~~
>> drivers/target/target_core_internal.h:169:33: error: passing argument 2 of 'sized_strscpy' makes pointer from integer without a cast [-Wint-conversion]
     169 | #define DB_ROOT_LEN             4096
         |                                 ^~~~
         |                                 |
         |                                 int
   include/linux/string.h:80:28: note: in definition of macro '__strscpy1'
      80 |         sized_strscpy(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
         |                            ^~~
   drivers/target/target_core_configfs.c:3760:17: note: in expansion of macro 'strscpy'
    3760 |                 strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_DEFAULT);
         |                 ^~~~~~~
   drivers/target/target_core_configfs.c:3760:40: note: in expansion of macro 'DB_ROOT_LEN'
    3760 |                 strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_DEFAULT);
         |                                        ^~~~~~~~~~~
   include/linux/fortify-string.h:227:83: note: expected 'const char *' but argument is of type 'int'
     227 | __FORTIFY_INLINE ssize_t sized_strscpy(char * const POS p, const char * const POS q, size_t size)
         |                                                            ~~~~~~~~~~~~~~~~~~~~~~~^
>> include/linux/string.h:80:60: error: passing argument 3 of 'sized_strscpy' makes integer from pointer without a cast [-Wint-conversion]
      80 |         sized_strscpy(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
   include/linux/args.h:25:24: note: in expansion of macro '__strscpy1'
      25 | #define __CONCAT(a, b) a ## b
         |                        ^
   include/linux/args.h:26:27: note: in expansion of macro '__CONCAT'
      26 | #define CONCATENATE(a, b) __CONCAT(a, b)
         |                           ^~~~~~~~
   include/linux/string.h:111:9: note: in expansion of macro 'CONCATENATE'
     111 |         CONCATENATE(__strscpy, COUNT_ARGS(__VA_ARGS__))(dst, src, __VA_ARGS__)
         |         ^~~~~~~~~~~
   drivers/target/target_core_configfs.c:3760:17: note: in expansion of macro 'strscpy'
    3760 |                 strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_DEFAULT);
         |                 ^~~~~~~
   include/linux/fortify-string.h:227:93: note: expected 'long unsigned int' but argument is of type 'char *'
     227 | __FORTIFY_INLINE ssize_t sized_strscpy(char * const POS p, const char * const POS q, size_t size)
         |                                                                                      ~~~~~~~^~~~
--
   In file included from arch/powerpc/include/asm/paca.h:16,
                    from arch/powerpc/include/asm/current.h:13,
                    from include/linux/thread_info.h:23,
                    from include/asm-generic/preempt.h:5,
                    from arch/powerpc/include/asm/preempt.h:5,
                    from include/linux/preempt.h:79,
                    from include/linux/spinlock.h:56,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:7,
                    from include/linux/umh.h:4,
                    from include/linux/kmod.h:9,
                    from include/linux/module.h:18,
                    from target/target_core_configfs.c:16:
   target/target_core_configfs.c: In function 'target_init_dbroot':
   target/target_core_internal.h:169:33: error: passing argument 2 of 'sized_strscpy' makes pointer from integer without a cast [-Wint-conversion]
     169 | #define DB_ROOT_LEN             4096
         |                                 ^~~~
         |                                 |
         |                                 int
   include/linux/string.h:80:28: note: in definition of macro '__strscpy1'
      80 |         sized_strscpy(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
         |                            ^~~
   target/target_core_configfs.c:3757:9: note: in expansion of macro 'strscpy'
    3757 |         strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED);
         |         ^~~~~~~
   target/target_core_configfs.c:3757:32: note: in expansion of macro 'DB_ROOT_LEN'
    3757 |         strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED);
         |                                ^~~~~~~~~~~
   In file included from include/linux/string.h:383:
   include/linux/fortify-string.h:227:83: note: expected 'const char *' but argument is of type 'int'
     227 | __FORTIFY_INLINE ssize_t sized_strscpy(char * const POS p, const char * const POS q, size_t size)
         |                                                            ~~~~~~~~~~~~~~~~~~~~~~~^
>> include/linux/string.h:80:60: error: passing argument 3 of 'sized_strscpy' makes integer from pointer without a cast [-Wint-conversion]
      80 |         sized_strscpy(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
   include/linux/args.h:25:24: note: in expansion of macro '__strscpy1'
      25 | #define __CONCAT(a, b) a ## b
         |                        ^
   include/linux/args.h:26:27: note: in expansion of macro '__CONCAT'
      26 | #define CONCATENATE(a, b) __CONCAT(a, b)
         |                           ^~~~~~~~
   include/linux/string.h:111:9: note: in expansion of macro 'CONCATENATE'
     111 |         CONCATENATE(__strscpy, COUNT_ARGS(__VA_ARGS__))(dst, src, __VA_ARGS__)
         |         ^~~~~~~~~~~
   target/target_core_configfs.c:3757:9: note: in expansion of macro 'strscpy'
    3757 |         strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_PREFERRED);
         |         ^~~~~~~
   include/linux/fortify-string.h:227:93: note: expected 'long unsigned int' but argument is of type 'char *'
     227 | __FORTIFY_INLINE ssize_t sized_strscpy(char * const POS p, const char * const POS q, size_t size)
         |                                                                                      ~~~~~~~^~~~
   target/target_core_internal.h:169:33: error: passing argument 2 of 'sized_strscpy' makes pointer from integer without a cast [-Wint-conversion]
     169 | #define DB_ROOT_LEN             4096
         |                                 ^~~~
         |                                 |
         |                                 int
   include/linux/string.h:80:28: note: in definition of macro '__strscpy1'
      80 |         sized_strscpy(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
         |                            ^~~
   target/target_core_configfs.c:3760:17: note: in expansion of macro 'strscpy'
    3760 |                 strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_DEFAULT);
         |                 ^~~~~~~
   target/target_core_configfs.c:3760:40: note: in expansion of macro 'DB_ROOT_LEN'
    3760 |                 strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_DEFAULT);
         |                                        ^~~~~~~~~~~
   include/linux/fortify-string.h:227:83: note: expected 'const char *' but argument is of type 'int'
     227 | __FORTIFY_INLINE ssize_t sized_strscpy(char * const POS p, const char * const POS q, size_t size)
         |                                                            ~~~~~~~~~~~~~~~~~~~~~~~^
>> include/linux/string.h:80:60: error: passing argument 3 of 'sized_strscpy' makes integer from pointer without a cast [-Wint-conversion]
      80 |         sized_strscpy(dst, src, size + __must_be_cstr(dst) + __must_be_cstr(src))
   include/linux/args.h:25:24: note: in expansion of macro '__strscpy1'
      25 | #define __CONCAT(a, b) a ## b
         |                        ^
   include/linux/args.h:26:27: note: in expansion of macro '__CONCAT'
      26 | #define CONCATENATE(a, b) __CONCAT(a, b)
         |                           ^~~~~~~~
   include/linux/string.h:111:9: note: in expansion of macro 'CONCATENATE'
     111 |         CONCATENATE(__strscpy, COUNT_ARGS(__VA_ARGS__))(dst, src, __VA_ARGS__)
         |         ^~~~~~~~~~~
   target/target_core_configfs.c:3760:17: note: in expansion of macro 'strscpy'
    3760 |                 strscpy(db_root_stage, DB_ROOT_LEN, DB_ROOT_DEFAULT);
         |                 ^~~~~~~
   include/linux/fortify-string.h:227:93: note: expected 'long unsigned int' but argument is of type 'char *'
     227 | __FORTIFY_INLINE ssize_t sized_strscpy(char * const POS p, const char * const POS q, size_t size)
         |                                                                                      ~~~~~~~^~~~


vim +/sized_strscpy +169 drivers/target/target_core_internal.h

adf653f92f38e8 Christoph Hellwig 2015-05-25  167  
a96e9783e05851 Lee Duncan        2016-04-14  168  /* target_core_configfs.c */
a96e9783e05851 Lee Duncan        2016-04-14 @169  #define DB_ROOT_LEN		4096
a96e9783e05851 Lee Duncan        2016-04-14  170  #define	DB_ROOT_DEFAULT		"/var/target"
78a6295c71cb27 Lee Duncan        2018-04-06  171  #define	DB_ROOT_PREFERRED	"/etc/target"
a96e9783e05851 Lee Duncan        2016-04-14  172  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.