Re: [PATCH 6/6] Convert intel uncore to struct_size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Matthew,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.17 next-20180607]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Matthew-Wilcox/More-conversions-to-struct_size/20180608-112654
config: x86_64-randconfig-x016-201822 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   arch/x86/events/intel/uncore.c: In function 'uncore_type_init':
>> arch/x86/events/intel/uncore.c:838:24: error: implicit declaration of function 'struct_size' [-Werror=implicit-function-declaration]
      attr_group = kzalloc(struct_size(attr_group, attrs, i + 1),
                           ^~~~~~~~~~~
   arch/x86/events/intel/uncore.c:838:48: error: 'attrs' undeclared (first use in this function); did you mean 'iattr'?
      attr_group = kzalloc(struct_size(attr_group, attrs, i + 1),
                                                   ^~~~~
                                                   iattr
   arch/x86/events/intel/uncore.c:838:48: note: each undeclared identifier is reported only once for each function it appears in
   cc1: some warnings being treated as errors

vim +/struct_size +838 arch/x86/events/intel/uncore.c

   804	
   805	static int __init uncore_type_init(struct intel_uncore_type *type, bool setid)
   806	{
   807		struct intel_uncore_pmu *pmus;
   808		size_t size;
   809		int i, j;
   810	
   811		pmus = kzalloc(sizeof(*pmus) * type->num_boxes, GFP_KERNEL);
   812		if (!pmus)
   813			return -ENOMEM;
   814	
   815		size = max_packages * sizeof(struct intel_uncore_box *);
   816	
   817		for (i = 0; i < type->num_boxes; i++) {
   818			pmus[i].func_id	= setid ? i : -1;
   819			pmus[i].pmu_idx	= i;
   820			pmus[i].type	= type;
   821			pmus[i].boxes	= kzalloc(size, GFP_KERNEL);
   822			if (!pmus[i].boxes)
   823				goto err;
   824		}
   825	
   826		type->pmus = pmus;
   827		type->unconstrainted = (struct event_constraint)
   828			__EVENT_CONSTRAINT(0, (1ULL << type->num_counters) - 1,
   829					0, type->num_counters, 0, 0);
   830	
   831		if (type->event_descs) {
   832			struct {
   833				struct attribute_group group;
   834				struct attribute *attrs[];
   835			} *attr_group;
   836			for (i = 0; type->event_descs[i].attr.attr.name; i++);
   837	
 > 838			attr_group = kzalloc(struct_size(attr_group, attrs, i + 1),
   839									GFP_KERNEL);
   840			if (!attr_group)
   841				goto err;
   842	
   843			attr_group->group.name = "events";
   844			attr_group->group.attrs = attr_group->attrs;
   845	
   846			for (j = 0; j < i; j++)
   847				attr_group->attrs[j] = &type->event_descs[j].attr.attr;
   848	
   849			type->events_group = &attr_group->group;
   850		}
   851	
   852		type->pmu_group = &uncore_pmu_attr_group;
   853	
   854		return 0;
   855	
   856	err:
   857		for (i = 0; i < type->num_boxes; i++)
   858			kfree(pmus[i].boxes);
   859		kfree(pmus);
   860	
   861		return -ENOMEM;
   862	}
   863	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux