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>] [day] [month] [year] [list]
Message-ID: <201805290947.lS3V9gWp%fengguang.wu@intel.com>
Date:   Tue, 29 May 2018 09:53:58 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Josh Poimboeuf <jpoimboe@...hat.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org,
        Arnaldo Carvalho de Melo <acme@...hat.com>
Subject: drivers/gpu/drm/drm_property.c:103:3: warning: 'strncpy' specified
 bound 32 equals destination size

Hi Josh,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   786b71f5b754273ccef6d9462e52062b3e1f9877
commit: 854e55ad289ef8888e7991f0ada85d5846f5afb9 objtool, perf: Fix GCC 8 -Wrestrict error
date:   2 months ago
config: x86_64-randconfig-a0-05290809 (attached as .config)
compiler: gcc-8 (Debian 8.1.0-3) 8.1.0
reproduce:
        git checkout 854e55ad289ef8888e7991f0ada85d5846f5afb9
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/drm_property.c: In function 'drm_property_create':
>> drivers/gpu/drm/drm_property.c:103:3: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation]
      strncpy(property->name, name, DRM_PROP_NAME_LEN);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
   drivers/iio/pressure/st_pressure_i2c.c: In function 'st_press_i2c_probe':
>> drivers/iio/pressure/st_pressure_i2c.c:97:3: warning: 'strncpy' specified bound 20 equals destination size [-Wstringop-truncation]
      strncpy(client->name, st_press_id_table[ret].name,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        sizeof(client->name));
        ~~~~~~~~~~~~~~~~~~~~~

vim +/strncpy +103 drivers/gpu/drm/drm_property.c

59e71ee7 Daniel Vetter  2016-08-29   59  
59e71ee7 Daniel Vetter  2016-08-29   60  /**
59e71ee7 Daniel Vetter  2016-08-29   61   * drm_property_create - create a new property type
59e71ee7 Daniel Vetter  2016-08-29   62   * @dev: drm device
59e71ee7 Daniel Vetter  2016-08-29   63   * @flags: flags specifying the property type
59e71ee7 Daniel Vetter  2016-08-29   64   * @name: name of the property
59e71ee7 Daniel Vetter  2016-08-29   65   * @num_values: number of pre-defined values
59e71ee7 Daniel Vetter  2016-08-29   66   *
59e71ee7 Daniel Vetter  2016-08-29   67   * This creates a new generic drm property which can then be attached to a drm
6a8a66ed Daniel Vetter  2016-11-23   68   * object with drm_object_attach_property(). The returned property object must
6a8a66ed Daniel Vetter  2016-11-23   69   * be freed with drm_property_destroy(), which is done automatically when
6a8a66ed Daniel Vetter  2016-11-23   70   * calling drm_mode_config_cleanup().
59e71ee7 Daniel Vetter  2016-08-29   71   *
59e71ee7 Daniel Vetter  2016-08-29   72   * Returns:
59e71ee7 Daniel Vetter  2016-08-29   73   * A pointer to the newly created property on success, NULL on failure.
59e71ee7 Daniel Vetter  2016-08-29   74   */
59e71ee7 Daniel Vetter  2016-08-29   75  struct drm_property *drm_property_create(struct drm_device *dev, int flags,
59e71ee7 Daniel Vetter  2016-08-29   76  					 const char *name, int num_values)
59e71ee7 Daniel Vetter  2016-08-29   77  {
59e71ee7 Daniel Vetter  2016-08-29   78  	struct drm_property *property = NULL;
59e71ee7 Daniel Vetter  2016-08-29   79  	int ret;
59e71ee7 Daniel Vetter  2016-08-29   80  
59e71ee7 Daniel Vetter  2016-08-29   81  	property = kzalloc(sizeof(struct drm_property), GFP_KERNEL);
59e71ee7 Daniel Vetter  2016-08-29   82  	if (!property)
59e71ee7 Daniel Vetter  2016-08-29   83  		return NULL;
59e71ee7 Daniel Vetter  2016-08-29   84  
59e71ee7 Daniel Vetter  2016-08-29   85  	property->dev = dev;
59e71ee7 Daniel Vetter  2016-08-29   86  
59e71ee7 Daniel Vetter  2016-08-29   87  	if (num_values) {
59e71ee7 Daniel Vetter  2016-08-29   88  		property->values = kcalloc(num_values, sizeof(uint64_t),
59e71ee7 Daniel Vetter  2016-08-29   89  					   GFP_KERNEL);
59e71ee7 Daniel Vetter  2016-08-29   90  		if (!property->values)
59e71ee7 Daniel Vetter  2016-08-29   91  			goto fail;
59e71ee7 Daniel Vetter  2016-08-29   92  	}
59e71ee7 Daniel Vetter  2016-08-29   93  
2135ea7a Thierry Reding 2017-02-28   94  	ret = drm_mode_object_add(dev, &property->base, DRM_MODE_OBJECT_PROPERTY);
59e71ee7 Daniel Vetter  2016-08-29   95  	if (ret)
59e71ee7 Daniel Vetter  2016-08-29   96  		goto fail;
59e71ee7 Daniel Vetter  2016-08-29   97  
59e71ee7 Daniel Vetter  2016-08-29   98  	property->flags = flags;
59e71ee7 Daniel Vetter  2016-08-29   99  	property->num_values = num_values;
59e71ee7 Daniel Vetter  2016-08-29  100  	INIT_LIST_HEAD(&property->enum_list);
59e71ee7 Daniel Vetter  2016-08-29  101  
59e71ee7 Daniel Vetter  2016-08-29  102  	if (name) {
59e71ee7 Daniel Vetter  2016-08-29 @103  		strncpy(property->name, name, DRM_PROP_NAME_LEN);
59e71ee7 Daniel Vetter  2016-08-29  104  		property->name[DRM_PROP_NAME_LEN-1] = '\0';
59e71ee7 Daniel Vetter  2016-08-29  105  	}
59e71ee7 Daniel Vetter  2016-08-29  106  
59e71ee7 Daniel Vetter  2016-08-29  107  	list_add_tail(&property->head, &dev->mode_config.property_list);
59e71ee7 Daniel Vetter  2016-08-29  108  
59e71ee7 Daniel Vetter  2016-08-29  109  	WARN_ON(!drm_property_type_valid(property));
59e71ee7 Daniel Vetter  2016-08-29  110  
59e71ee7 Daniel Vetter  2016-08-29  111  	return property;
59e71ee7 Daniel Vetter  2016-08-29  112  fail:
59e71ee7 Daniel Vetter  2016-08-29  113  	kfree(property->values);
59e71ee7 Daniel Vetter  2016-08-29  114  	kfree(property);
59e71ee7 Daniel Vetter  2016-08-29  115  	return NULL;
59e71ee7 Daniel Vetter  2016-08-29  116  }
59e71ee7 Daniel Vetter  2016-08-29  117  EXPORT_SYMBOL(drm_property_create);
59e71ee7 Daniel Vetter  2016-08-29  118  

:::::: The code at line 103 was first introduced by commit
:::::: 59e71ee746a37fe077b73cecf189de1d27efd6eb drm: Extract drm_property.[hc]

:::::: TO: Daniel Vetter <daniel.vetter@...ll.ch>
:::::: CC: Daniel Vetter <daniel.vetter@...ll.ch>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ