Re: [PATCH 1/7] net, netfilter: convert ip_vs_conn.refcnt from atomic_t to refcount_t

From: kbuild test robot
Date: Fri Mar 17 2017 - 22:56:38 EST


Hi Elena,

[auto build test ERROR on nf-next/master]
[also build test ERROR on v4.11-rc2 next-20170310]
[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/Elena-Reshetova/net-netfilter-refcounter-conversions/20170318-030023
base: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master
config: x86_64-acpi-redef (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

Note: the linux-review/Elena-Reshetova/net-netfilter-refcounter-conversions/20170318-030023 HEAD 39f42012204473b16c41a9b9e2a0528a16a35b1d builds fine.
It only hurts bisectibility.

All errors (new ones prefixed by >>):

In file included from net/netfilter/ipvs/ip_vs_conn.c:42:0:
net/netfilter/ipvs/ip_vs_conn.c: In function 'ip_vs_bind_dest':
>> net/netfilter/ipvs/ip_vs_conn.c:621:23: error: passing argument 1 of 'refcount_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
refcount_read(&dest->refcnt));
^
include/net/ip_vs.h:227:37: note: in definition of macro 'IP_VS_DBG_BUF'
printk(KERN_DEBUG pr_fmt(msg), ##__VA_ARGS__); \
^~~~~~~~~~~
In file included from include/linux/kref.h:19:0,
from include/linux/kobject.h:24,
from include/linux/irqdesc.h:5,
from include/linux/irq.h:452,
from arch/x86/include/asm/hardirq.h:5,
from include/linux/hardirq.h:8,
from include/linux/interrupt.h:12,
from net/netfilter/ipvs/ip_vs_conn.c:28:
include/linux/refcount.h:64:28: note: expected 'const refcount_t * {aka const struct refcount_struct *}' but argument is of type 'atomic_t * {aka struct <anonymous> *}'
static inline unsigned int refcount_read(const refcount_t *r)
^~~~~~~~~~~~~
In file included from net/netfilter/ipvs/ip_vs_conn.c:42:0:
net/netfilter/ipvs/ip_vs_conn.c: In function 'ip_vs_unbind_dest':
net/netfilter/ipvs/ip_vs_conn.c:718:23: error: passing argument 1 of 'refcount_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
refcount_read(&dest->refcnt));
^
include/net/ip_vs.h:227:37: note: in definition of macro 'IP_VS_DBG_BUF'
printk(KERN_DEBUG pr_fmt(msg), ##__VA_ARGS__); \
^~~~~~~~~~~
In file included from include/linux/kref.h:19:0,
from include/linux/kobject.h:24,
from include/linux/irqdesc.h:5,
from include/linux/irq.h:452,
from arch/x86/include/asm/hardirq.h:5,
from include/linux/hardirq.h:8,
from include/linux/interrupt.h:12,
from net/netfilter/ipvs/ip_vs_conn.c:28:
include/linux/refcount.h:64:28: note: expected 'const refcount_t * {aka const struct refcount_struct *}' but argument is of type 'atomic_t * {aka struct <anonymous> *}'
static inline unsigned int refcount_read(const refcount_t *r)
^~~~~~~~~~~~~
cc1: some warnings being treated as errors

vim +/refcount_read +621 net/netfilter/ipvs/ip_vs_conn.c

615 ip_vs_proto_name(cp->protocol),
616 IP_VS_DBG_ADDR(cp->af, &cp->caddr), ntohs(cp->cport),
617 IP_VS_DBG_ADDR(cp->af, &cp->vaddr), ntohs(cp->vport),
618 IP_VS_DBG_ADDR(cp->daf, &cp->daddr), ntohs(cp->dport),
619 ip_vs_fwd_tag(cp), cp->state,
620 cp->flags, refcount_read(&cp->refcnt),
> 621 refcount_read(&dest->refcnt));
622
623 /* Update the connection counters */
624 if (!(flags & IP_VS_CONN_F_TEMPLATE)) {

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

Attachment: .config.gz
Description: application/gzip