Hi Parav, [auto build test ERROR on rdma/master] [also build test ERROR on v4.5-rc6 next-20160301] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Parav-Pandit/rdmacg-IB-core-rdma-controller-support/20160301-223149 base: https://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma master config: x86_64-allmodconfig (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute drivers/infiniband/core/cgroup.c:107:6: sparse: symbol 'ib_rdmacg_query_limit' redeclared with different type (originally declared at drivers/infiniband/core/core_priv.h:140) - different argument counts >> drivers/infiniband/core/cgroup.c:107:6: error: conflicting types for 'ib_rdmacg_query_limit' void ib_rdmacg_query_limit(struct ib_device *device, int *limits) ^ In file included from drivers/infiniband/core/cgroup.c:35:0: drivers/infiniband/core/core_priv.h:140:6: note: previous declaration of 'ib_rdmacg_query_limit' was here void ib_rdmacg_query_limit(struct ib_device *device, ^ In file included from include/linux/linkage.h:6:0, from include/linux/kernel.h:6, from drivers/infiniband/core/cgroup.c:31: drivers/infiniband/core/cgroup.c:111:15: error: conflicting types for 'ib_rdmacg_query_limit' EXPORT_SYMBOL(ib_rdmacg_query_limit); ^ include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL' extern typeof(sym) sym; \ ^ >> drivers/infiniband/core/cgroup.c:111:1: note: in expansion of macro 'EXPORT_SYMBOL' EXPORT_SYMBOL(ib_rdmacg_query_limit); ^ In file included from drivers/infiniband/core/cgroup.c:35:0: drivers/infiniband/core/core_priv.h:140:6: note: previous declaration of 'ib_rdmacg_query_limit' was here void ib_rdmacg_query_limit(struct ib_device *device, ^ sparse warnings: (new ones prefixed by >>) include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute >> drivers/infiniband/core/uverbs_cmd.c:470:30: sparse: not enough arguments for function ib_rdmacg_query_limit drivers/infiniband/core/uverbs_cmd.c:3721:30: sparse: not enough arguments for function ib_rdmacg_query_limit drivers/infiniband/core/uverbs_cmd.c: In function 'ib_uverbs_query_device': drivers/infiniband/core/uverbs_cmd.c:470:2: error: too few arguments to function 'ib_rdmacg_query_limit' ib_rdmacg_query_limit(ib_dev, limits); ^ In file included from drivers/infiniband/core/uverbs_cmd.c:44:0: drivers/infiniband/core/core_priv.h:140:6: note: declared here void ib_rdmacg_query_limit(struct ib_device *device, ^ drivers/infiniband/core/uverbs_cmd.c: In function 'ib_uverbs_ex_query_device': drivers/infiniband/core/uverbs_cmd.c:3721:2: error: too few arguments to function 'ib_rdmacg_query_limit' ib_rdmacg_query_limit(ib_dev, limits); ^ In file included from drivers/infiniband/core/uverbs_cmd.c:44:0: drivers/infiniband/core/core_priv.h:140:6: note: declared here void ib_rdmacg_query_limit(struct ib_device *device, ^ vim +/ib_rdmacg_query_limit +107 drivers/infiniband/core/cgroup.c 25 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 26 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 27 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 28 * SOFTWARE. 29 */ 30 > 31 #include <linux/kernel.h> 32 #include <linux/cgroup_rdma.h> 33 #include <linux/parser.h> 34 35 #include "core_priv.h" 36 37 /** 38 * resource table definition as to be seen by the user. 39 * Need to add entries to it when more resources are 40 * added/defined at IB verb/core layer. 41 */ 42 static char const *resource_tokens[] = { 43 [RDMA_VERB_RESOURCE_UCTX] = "uctx", 44 [RDMA_VERB_RESOURCE_AH] = "ah", 45 [RDMA_VERB_RESOURCE_PD] = "pd", 46 [RDMA_VERB_RESOURCE_CQ] = "cq", 47 [RDMA_VERB_RESOURCE_MR] = "mr", 48 [RDMA_VERB_RESOURCE_MW] = "mw", 49 [RDMA_VERB_RESOURCE_SRQ] = "srq", 50 [RDMA_VERB_RESOURCE_QP] = "qp", 51 [RDMA_VERB_RESOURCE_FLOW] = "flow", 52 }; 53 54 /** 55 * ib_device_register_rdmacg - register with rdma cgroup. 56 * @device: device to register to participate in resource 57 * accounting by rdma cgroup. 58 * 59 * Register with the rdma cgroup. Should be called before 60 * exposing rdma device to user space applications to avoid 61 * resource accounting leak. 62 * HCA drivers should set resource pool ops first if they wish 63 * to support hw specific resource accounting before IB core 64 * registers with rdma cgroup. 65 * Returns 0 on success or otherwise failure code. 66 */ 67 int ib_device_register_rdmacg(struct ib_device *device) 68 { 69 device->cg_device.name = device->name; 70 device->cg_device.pool_info.resource_name_table = resource_tokens; 71 device->cg_device.pool_info.table_len = ARRAY_SIZE(resource_tokens); 72 return rdmacg_register_device(&device->cg_device); 73 } 74 75 /** 76 * ib_device_unregister_rdmacg - unregister with rdma cgroup. 77 * @device: device to unregister. 78 * 79 * Unregister with the rdma cgroup. Should be called after 80 * all the resources are deallocated, and after a stage when any 81 * other resource allocation of user application cannot be done 82 * for this device to avoid any leak in accounting. 83 */ 84 void ib_device_unregister_rdmacg(struct ib_device *device) 85 { 86 rdmacg_unregister_device(&device->cg_device); 87 } 88 89 int ib_rdmacg_try_charge(struct ib_rdmacg_object *cg_obj, 90 struct ib_device *device, 91 int resource_index, int num) 92 { 93 return rdmacg_try_charge(&cg_obj->cg, &device->cg_device, 94 resource_index, num); 95 } 96 EXPORT_SYMBOL(ib_rdmacg_try_charge); 97 98 void ib_rdmacg_uncharge(struct ib_rdmacg_object *cg_obj, 99 struct ib_device *device, 100 int resource_index, int num) 101 { 102 rdmacg_uncharge(cg_obj->cg, &device->cg_device, 103 resource_index, num); 104 } 105 EXPORT_SYMBOL(ib_rdmacg_uncharge); 106 > 107 void ib_rdmacg_query_limit(struct ib_device *device, int *limits) 108 { 109 rdmacg_query_limit(&device->cg_device, limits); 110 } > 111 EXPORT_SYMBOL(ib_rdmacg_query_limit); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data