Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 8 Jun 2018 12:09:03 +0800
From: kbuild test robot <lkp@...el.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: kbuild-all@...org, Kees Cook <keescook@...omium.org>,
	Matthew Wilcox <mawilcox@...rosoft.com>, linux-mm@...ck.org,
	linux-kernel@...r.kernel.org, kernel-hardening@...ts.openwall.com
Subject: Re: [PATCH 6/6] Convert intel uncore to struct_size

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

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

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.