lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 28 May 2020 12:56:54 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Kent Gibson <warthog618@...il.com>, linux-kernel@...r.kernel.org,
        linux-gpio@...r.kernel.org, bgolaszewski@...libre.com,
        linus.walleij@...aro.org
Cc:     kbuild-all@...ts.01.org, Kent Gibson <warthog618@...il.com>
Subject: Re: [PATCH] gpiolib: split character device into gpiolib-cdev

Hi Kent,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on v5.7-rc5]
[cannot apply to gpio/for-next linus/master linux/master v5.7-rc7 v5.7-rc6 next-20200526]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Kent-Gibson/gpiolib-split-character-device-into-gpiolib-cdev/20200528-000035
base:    2ef96a5bb12be62ef75b5828c0aab838ebb29cb8
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.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
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@...el.com>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/gpio/gpiolib-cdev.c:1092:5: warning: no previous prototype for 'gpiolib_cdev_register' [-Wmissing-prototypes]
1092 | int gpiolib_cdev_register(struct gpio_device *gdev, dev_t devt)
|     ^~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:1110:6: warning: no previous prototype for 'gpiolib_cdev_unregister' [-Wmissing-prototypes]
1110 | void gpiolib_cdev_unregister(struct gpio_device *gdev)
|      ^~~~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c: In function 'gpio_desc_to_lineinfo':
>> drivers/gpio/gpiolib-cdev.c:779:3: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation]
779 |   strncpy(info->name, desc->name, sizeof(info->name));
|   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/strncpy +779 drivers/gpio/gpiolib-cdev.c

   769	
   770	static void gpio_desc_to_lineinfo(struct gpio_desc *desc,
   771					  struct gpioline_info *info)
   772	{
   773		struct gpio_chip *gc = desc->gdev->chip;
   774		unsigned long flags;
   775	
   776		spin_lock_irqsave(&gpio_lock, flags);
   777	
   778		if (desc->name) {
 > 779			strncpy(info->name, desc->name, sizeof(info->name));
   780			info->name[sizeof(info->name) - 1] = '\0';
   781		} else {
   782			info->name[0] = '\0';
   783		}
   784	
   785		if (desc->label) {
   786			strncpy(info->consumer, desc->label, sizeof(info->consumer));
   787			info->consumer[sizeof(info->consumer) - 1] = '\0';
   788		} else {
   789			info->consumer[0] = '\0';
   790		}
   791	
   792		/*
   793		 * Userspace only need to know that the kernel is using this GPIO so
   794		 * it can't use it.
   795		 */
   796		info->flags = 0;
   797		if (test_bit(FLAG_REQUESTED, &desc->flags) ||
   798		    test_bit(FLAG_IS_HOGGED, &desc->flags) ||
   799		    test_bit(FLAG_USED_AS_IRQ, &desc->flags) ||
   800		    test_bit(FLAG_EXPORT, &desc->flags) ||
   801		    test_bit(FLAG_SYSFS, &desc->flags) ||
   802		    !pinctrl_gpio_can_use_line(gc->base + info->line_offset))
   803			info->flags |= GPIOLINE_FLAG_KERNEL;
   804		if (test_bit(FLAG_IS_OUT, &desc->flags))
   805			info->flags |= GPIOLINE_FLAG_IS_OUT;
   806		if (test_bit(FLAG_ACTIVE_LOW, &desc->flags))
   807			info->flags |= GPIOLINE_FLAG_ACTIVE_LOW;
   808		if (test_bit(FLAG_OPEN_DRAIN, &desc->flags))
   809			info->flags |= (GPIOLINE_FLAG_OPEN_DRAIN |
   810					GPIOLINE_FLAG_IS_OUT);
   811		if (test_bit(FLAG_OPEN_SOURCE, &desc->flags))
   812			info->flags |= (GPIOLINE_FLAG_OPEN_SOURCE |
   813					GPIOLINE_FLAG_IS_OUT);
   814		if (test_bit(FLAG_BIAS_DISABLE, &desc->flags))
   815			info->flags |= GPIOLINE_FLAG_BIAS_DISABLE;
   816		if (test_bit(FLAG_PULL_DOWN, &desc->flags))
   817			info->flags |= GPIOLINE_FLAG_BIAS_PULL_DOWN;
   818		if (test_bit(FLAG_PULL_UP, &desc->flags))
   819			info->flags |= GPIOLINE_FLAG_BIAS_PULL_UP;
   820	
   821		spin_unlock_irqrestore(&gpio_lock, flags);
   822	}
   823	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (63412 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ