Messages in this thread | | | Date | Tue, 29 May 2018 09:53:58 +0800 | From | kbuild test robot <> | 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@ffwll.ch> :::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch>
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [unhandled content-type:application/gzip] | |