public inbox for [email protected]
 help / color / mirror / Atom feed
* [ammarfaizi2-block:viro/vfs/work.termios2 4/8] arch/sparc/kernel/termios.c:15:5: error: no previous prototype for 'kernel_termios_to_user_termio'
@ 2022-08-21  4:17 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-08-21  4:17 UTC (permalink / raw)
  To: Al Viro; +Cc: kbuild-all, Ammar Faizi, GNU/Weeb Mailing List, linux-kernel

tree:   https://github.com/ammarfaizi2/linux-block viro/vfs/work.termios2
head:   efc5ae91c846283431afc7bfc57e947bf1fd4158
commit: 7f3d795b7f3bd329e9b0eea427bcbbf205ee60d5 [4/8] termios: start unifying non-UAPI parts of asm/termios.h
config: sparc-randconfig-r012-20220821 (https://download.01.org/0day-ci/archive/20220821/[email protected]/config)
compiler: sparc-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/ammarfaizi2/linux-block/commit/7f3d795b7f3bd329e9b0eea427bcbbf205ee60d5
        git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
        git fetch --no-tags ammarfaizi2-block viro/vfs/work.termios2
        git checkout 7f3d795b7f3bd329e9b0eea427bcbbf205ee60d5
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

>> arch/sparc/kernel/termios.c:15:5: error: no previous prototype for 'kernel_termios_to_user_termio' [-Werror=missing-prototypes]
      15 | int kernel_termios_to_user_termio(struct termio __user *termio,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/sparc/kernel/termios.c:33:5: error: no previous prototype for 'user_termios_to_kernel_termios' [-Werror=missing-prototypes]
      33 | int user_termios_to_kernel_termios(struct ktermios *k,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/sparc/kernel/termios.c:55:5: error: no previous prototype for 'kernel_termios_to_user_termios' [-Werror=missing-prototypes]
      55 | int kernel_termios_to_user_termios(struct termios2 __user *u,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/sparc/kernel/termios.c:77:5: error: no previous prototype for 'user_termios_to_kernel_termios_1' [-Werror=missing-prototypes]
      77 | int user_termios_to_kernel_termios_1(struct ktermios *k,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/sparc/kernel/termios.c:97:5: error: no previous prototype for 'kernel_termios_to_user_termios_1' [-Werror=missing-prototypes]
      97 | int kernel_termios_to_user_termios_1(struct termios __user *u,
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: all warnings being treated as errors


vim +/kernel_termios_to_user_termio +15 arch/sparc/kernel/termios.c

8eb5cc958018d9 Al Viro 2022-08-20  14  
8eb5cc958018d9 Al Viro 2022-08-20 @15  int kernel_termios_to_user_termio(struct termio __user *termio,
8eb5cc958018d9 Al Viro 2022-08-20  16  						struct ktermios *termios)
8eb5cc958018d9 Al Viro 2022-08-20  17  {
8eb5cc958018d9 Al Viro 2022-08-20  18  	struct termio v;
8eb5cc958018d9 Al Viro 2022-08-20  19  	memset(&v, 0, sizeof(struct termio));
8eb5cc958018d9 Al Viro 2022-08-20  20  	v.c_iflag = termios->c_iflag;
8eb5cc958018d9 Al Viro 2022-08-20  21  	v.c_oflag = termios->c_oflag;
8eb5cc958018d9 Al Viro 2022-08-20  22  	v.c_cflag = termios->c_cflag;
8eb5cc958018d9 Al Viro 2022-08-20  23  	v.c_lflag = termios->c_lflag;
8eb5cc958018d9 Al Viro 2022-08-20  24  	v.c_line = termios->c_line;
8eb5cc958018d9 Al Viro 2022-08-20  25  	memcpy(v.c_cc, termios->c_cc, NCC);
8eb5cc958018d9 Al Viro 2022-08-20  26  	if (!(v.c_lflag & ICANON)) {
8eb5cc958018d9 Al Viro 2022-08-20  27  		v.c_cc[_VMIN] = termios->c_cc[VMIN];
8eb5cc958018d9 Al Viro 2022-08-20  28  		v.c_cc[_VTIME] = termios->c_cc[VTIME];
8eb5cc958018d9 Al Viro 2022-08-20  29  	}
8eb5cc958018d9 Al Viro 2022-08-20  30  	return copy_to_user(termio, &v, sizeof(struct termio));
8eb5cc958018d9 Al Viro 2022-08-20  31  }
8eb5cc958018d9 Al Viro 2022-08-20  32  
8eb5cc958018d9 Al Viro 2022-08-20 @33  int user_termios_to_kernel_termios(struct ktermios *k,
8eb5cc958018d9 Al Viro 2022-08-20  34  						 struct termios2 __user *u)
8eb5cc958018d9 Al Viro 2022-08-20  35  {
8eb5cc958018d9 Al Viro 2022-08-20  36  	int err;
8eb5cc958018d9 Al Viro 2022-08-20  37  	err  = get_user(k->c_iflag, &u->c_iflag);
8eb5cc958018d9 Al Viro 2022-08-20  38  	err |= get_user(k->c_oflag, &u->c_oflag);
8eb5cc958018d9 Al Viro 2022-08-20  39  	err |= get_user(k->c_cflag, &u->c_cflag);
8eb5cc958018d9 Al Viro 2022-08-20  40  	err |= get_user(k->c_lflag, &u->c_lflag);
8eb5cc958018d9 Al Viro 2022-08-20  41  	err |= get_user(k->c_line,  &u->c_line);
8eb5cc958018d9 Al Viro 2022-08-20  42  	err |= copy_from_user(k->c_cc, u->c_cc, NCCS);
8eb5cc958018d9 Al Viro 2022-08-20  43  	if (k->c_lflag & ICANON) {
8eb5cc958018d9 Al Viro 2022-08-20  44  		err |= get_user(k->c_cc[VEOF], &u->c_cc[VEOF]);
8eb5cc958018d9 Al Viro 2022-08-20  45  		err |= get_user(k->c_cc[VEOL], &u->c_cc[VEOL]);
8eb5cc958018d9 Al Viro 2022-08-20  46  	} else {
8eb5cc958018d9 Al Viro 2022-08-20  47  		err |= get_user(k->c_cc[VMIN],  &u->c_cc[_VMIN]);
8eb5cc958018d9 Al Viro 2022-08-20  48  		err |= get_user(k->c_cc[VTIME], &u->c_cc[_VTIME]);
8eb5cc958018d9 Al Viro 2022-08-20  49  	}
8eb5cc958018d9 Al Viro 2022-08-20  50  	err |= get_user(k->c_ispeed,  &u->c_ispeed);
8eb5cc958018d9 Al Viro 2022-08-20  51  	err |= get_user(k->c_ospeed,  &u->c_ospeed);
8eb5cc958018d9 Al Viro 2022-08-20  52  	return err;
8eb5cc958018d9 Al Viro 2022-08-20  53  }
8eb5cc958018d9 Al Viro 2022-08-20  54  
8eb5cc958018d9 Al Viro 2022-08-20 @55  int kernel_termios_to_user_termios(struct termios2 __user *u,
8eb5cc958018d9 Al Viro 2022-08-20  56  						 struct ktermios *k)
8eb5cc958018d9 Al Viro 2022-08-20  57  {
8eb5cc958018d9 Al Viro 2022-08-20  58  	int err;
8eb5cc958018d9 Al Viro 2022-08-20  59  	err  = put_user(k->c_iflag, &u->c_iflag);
8eb5cc958018d9 Al Viro 2022-08-20  60  	err |= put_user(k->c_oflag, &u->c_oflag);
8eb5cc958018d9 Al Viro 2022-08-20  61  	err |= put_user(k->c_cflag, &u->c_cflag);
8eb5cc958018d9 Al Viro 2022-08-20  62  	err |= put_user(k->c_lflag, &u->c_lflag);
8eb5cc958018d9 Al Viro 2022-08-20  63  	err |= put_user(k->c_line, &u->c_line);
8eb5cc958018d9 Al Viro 2022-08-20  64  	err |= copy_to_user(u->c_cc, k->c_cc, NCCS);
8eb5cc958018d9 Al Viro 2022-08-20  65  	if (!(k->c_lflag & ICANON)) {
8eb5cc958018d9 Al Viro 2022-08-20  66  		err |= put_user(k->c_cc[VMIN],  &u->c_cc[_VMIN]);
8eb5cc958018d9 Al Viro 2022-08-20  67  		err |= put_user(k->c_cc[VTIME], &u->c_cc[_VTIME]);
8eb5cc958018d9 Al Viro 2022-08-20  68  	} else {
8eb5cc958018d9 Al Viro 2022-08-20  69  		err |= put_user(k->c_cc[VEOF], &u->c_cc[VEOF]);
8eb5cc958018d9 Al Viro 2022-08-20  70  		err |= put_user(k->c_cc[VEOL], &u->c_cc[VEOL]);
8eb5cc958018d9 Al Viro 2022-08-20  71  	}
8eb5cc958018d9 Al Viro 2022-08-20  72  	err |= put_user(k->c_ispeed, &u->c_ispeed);
8eb5cc958018d9 Al Viro 2022-08-20  73  	err |= put_user(k->c_ospeed, &u->c_ospeed);
8eb5cc958018d9 Al Viro 2022-08-20  74  	return err;
8eb5cc958018d9 Al Viro 2022-08-20  75  }
8eb5cc958018d9 Al Viro 2022-08-20  76  
8eb5cc958018d9 Al Viro 2022-08-20 @77  int user_termios_to_kernel_termios_1(struct ktermios *k,
8eb5cc958018d9 Al Viro 2022-08-20  78  						 struct termios __user *u)
8eb5cc958018d9 Al Viro 2022-08-20  79  {
8eb5cc958018d9 Al Viro 2022-08-20  80  	int err;
8eb5cc958018d9 Al Viro 2022-08-20  81  	err  = get_user(k->c_iflag, &u->c_iflag);
8eb5cc958018d9 Al Viro 2022-08-20  82  	err |= get_user(k->c_oflag, &u->c_oflag);
8eb5cc958018d9 Al Viro 2022-08-20  83  	err |= get_user(k->c_cflag, &u->c_cflag);
8eb5cc958018d9 Al Viro 2022-08-20  84  	err |= get_user(k->c_lflag, &u->c_lflag);
8eb5cc958018d9 Al Viro 2022-08-20  85  	err |= get_user(k->c_line,  &u->c_line);
8eb5cc958018d9 Al Viro 2022-08-20  86  	err |= copy_from_user(k->c_cc, u->c_cc, NCCS);
8eb5cc958018d9 Al Viro 2022-08-20  87  	if (k->c_lflag & ICANON) {
8eb5cc958018d9 Al Viro 2022-08-20  88  		err |= get_user(k->c_cc[VEOF], &u->c_cc[VEOF]);
8eb5cc958018d9 Al Viro 2022-08-20  89  		err |= get_user(k->c_cc[VEOL], &u->c_cc[VEOL]);
8eb5cc958018d9 Al Viro 2022-08-20  90  	} else {
8eb5cc958018d9 Al Viro 2022-08-20  91  		err |= get_user(k->c_cc[VMIN],  &u->c_cc[_VMIN]);
8eb5cc958018d9 Al Viro 2022-08-20  92  		err |= get_user(k->c_cc[VTIME], &u->c_cc[_VTIME]);
8eb5cc958018d9 Al Viro 2022-08-20  93  	}
8eb5cc958018d9 Al Viro 2022-08-20  94  	return err;
8eb5cc958018d9 Al Viro 2022-08-20  95  }
8eb5cc958018d9 Al Viro 2022-08-20  96  
8eb5cc958018d9 Al Viro 2022-08-20 @97  int kernel_termios_to_user_termios_1(struct termios __user *u,

:::::: The code at line 15 was first introduced by commit
:::::: 8eb5cc958018d99c96d15cf9637fd07531551802 termios: uninline conversion helpers

:::::: TO: Al Viro <[email protected]>
:::::: CC: Al Viro <[email protected]>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-08-21  4:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-21  4:17 [ammarfaizi2-block:viro/vfs/work.termios2 4/8] arch/sparc/kernel/termios.c:15:5: error: no previous prototype for 'kernel_termios_to_user_termio' kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox