Message ID | 20211104061609.1496503-1-yang.guang5@zte.com.cn |
---|---|
State | Superseded |
Headers | show |
Series | um: use swap() to make code cleaner | expand |
Hi, Thank you for the patch! Yet something to improve: [auto build test ERROR on rw-uml/linux-next] [also build test ERROR on v5.15 next-20211104] [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] url: https://github.com/0day-ci/linux/commits/davidcomponentone-gmail-com/um-use-swap-to-make-code-cleaner/20211104-141655 base: https://git.kernel.org/pub/scm/linux/kernel/git/rw/uml.git linux-next config: um-x86_64_defconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/0daa3d13fe02d69f3d42d17d176edb0043136241 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review davidcomponentone-gmail-com/um-use-swap-to-make-code-cleaner/20211104-141655 git checkout 0daa3d13fe02d69f3d42d17d176edb0043136241 # save the attached .config to linux build tree make W=1 ARCH=um SUBARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): arch/um/os-Linux/sigio.c: In function 'write_sigio_thread': >> arch/um/os-Linux/sigio.c:80:5: error: implicit declaration of function 'swap'; did you mean 'swab'? [-Werror=implicit-function-declaration] 80 | swap(current_poll, next_poll); | ^~~~ | swab cc1: some warnings being treated as errors vim +80 arch/um/os-Linux/sigio.c 50 51 static int write_sigio_thread(void *unused) 52 { 53 struct pollfds *fds; 54 struct pollfd *p; 55 int i, n, respond_fd; 56 char c; 57 58 os_fix_helper_signals(); 59 fds = ¤t_poll; 60 while (1) { 61 n = poll(fds->poll, fds->used, -1); 62 if (n < 0) { 63 if (errno == EINTR) 64 continue; 65 printk(UM_KERN_ERR "write_sigio_thread : poll returned " 66 "%d, errno = %d\n", n, errno); 67 } 68 for (i = 0; i < fds->used; i++) { 69 p = &fds->poll[i]; 70 if (p->revents == 0) 71 continue; 72 if (p->fd == sigio_private[1]) { 73 CATCH_EINTR(n = read(sigio_private[1], &c, 74 sizeof(c))); 75 if (n != sizeof(c)) 76 printk(UM_KERN_ERR 77 "write_sigio_thread : " 78 "read on socket failed, " 79 "err = %d\n", errno); > 80 swap(current_poll, next_poll); 81 respond_fd = sigio_private[1]; 82 } 83 else { 84 respond_fd = write_sigio_fds[1]; 85 fds->used--; 86 memmove(&fds->poll[i], &fds->poll[i + 1], 87 (fds->used - i) * sizeof(*fds->poll)); 88 } 89 90 CATCH_EINTR(n = write(respond_fd, &c, sizeof(c))); 91 if (n != sizeof(c)) 92 printk(UM_KERN_ERR "write_sigio_thread : " 93 "write on socket failed, err = %d\n", 94 errno); 95 } 96 } 97 98 return 0; 99 } 100 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
On 04/11/2021 06:16, davidcomponentone@gmail.com wrote: > From: Yang Guang <yang.guang5@zte.com.cn> > > Use the macro 'swap()' defined in 'include/linux/minmax.h' to avoid > opencoding it. > > Reported-by: Zeal Robot <zealci@zte.com.cn> > Signed-off-by: Yang Guang <yang.guang5@zte.com.cn> > --- > arch/um/os-Linux/sigio.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/arch/um/os-Linux/sigio.c b/arch/um/os-Linux/sigio.c > index 9e71794839e8..1eb15f3cfdc8 100644 > --- a/arch/um/os-Linux/sigio.c > +++ b/arch/um/os-Linux/sigio.c > @@ -50,7 +50,7 @@ static struct pollfds all_sigio_fds; > > static int write_sigio_thread(void *unused) > { > - struct pollfds *fds, tmp; > + struct pollfds *fds; > struct pollfd *p; > int i, n, respond_fd; > char c; > @@ -77,9 +77,7 @@ static int write_sigio_thread(void *unused) > "write_sigio_thread : " > "read on socket failed, " > "err = %d\n", errno); > - tmp = current_poll; > - current_poll = next_poll; > - next_poll = tmp; > + swap(current_poll, next_poll); > respond_fd = sigio_private[1]; > } > else { > You should include minmax.h for the swap macro. While there is a very significant likelihood that it will be pulled up by another something else, it is better to do that explicitly.
diff --git a/arch/um/os-Linux/sigio.c b/arch/um/os-Linux/sigio.c index 9e71794839e8..1eb15f3cfdc8 100644 --- a/arch/um/os-Linux/sigio.c +++ b/arch/um/os-Linux/sigio.c @@ -50,7 +50,7 @@ static struct pollfds all_sigio_fds; static int write_sigio_thread(void *unused) { - struct pollfds *fds, tmp; + struct pollfds *fds; struct pollfd *p; int i, n, respond_fd; char c; @@ -77,9 +77,7 @@ static int write_sigio_thread(void *unused) "write_sigio_thread : " "read on socket failed, " "err = %d\n", errno); - tmp = current_poll; - current_poll = next_poll; - next_poll = tmp; + swap(current_poll, next_poll); respond_fd = sigio_private[1]; } else {