All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sabrina Dubroca <sd@queasysnail.net>
To: Steffen Klassert <steffen.klassert@secunet.com>
Cc: kbuild test robot <lkp@intel.com>,
	kbuild-all@01.org, netdev@vger.kernel.org,
	Herbert Xu <herbert@gondor.apana.org.au>
Subject: Re: [ipsec-next:testing 7/8] include/net/espintcp.h:36:20: sparse: sparse: incorrect type in return expression (different address spaces)
Date: Tue, 8 Oct 2019 09:39:53 +0200	[thread overview]
Message-ID: <20191008073953.GA1408676@bistromath.localdomain> (raw)
In-Reply-To: <20191008055509.GW2879@gauss3.secunet.de>

2019-10-08, 07:55:09 +0200, Steffen Klassert wrote:
> On Sun, Oct 06, 2019 at 10:46:40AM +0800, kbuild test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git testing
> > head:   5374d99ba41893b4bb1ddbe35a88b1f08e860903
> > commit: 735de2631f8680ac714df1ecc8e052785e9f9f8e [7/8] xfrm: add espintcp (RFC 8229)
> > reproduce:
> >         # apt-get install sparse
> >         # sparse version: v0.6.1-rc1-42-g38eda53-dirty
> >         git checkout 735de2631f8680ac714df1ecc8e052785e9f9f8e
> >         make ARCH=x86_64 allmodconfig
> >         make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
> > 
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@intel.com>
> > 
> > 
> > >> include/net/espintcp.h:36:20: sparse:    expected struct espintcp_ctx *
> > >> include/net/espintcp.h:36:20: sparse:    got void [noderef] <asn:4> *icsk_ulp_data
> > >> include/net/espintcp.h:36:20: sparse: sparse: incorrect type in return expression (different address spaces) @@    expected struct espintcp_ctx * @@    got voistruct espintcp_ctx * @@
> > >> include/net/espintcp.h:36:20: sparse:    expected struct espintcp_ctx *
> > >> include/net/espintcp.h:36:20: sparse:    got void [noderef] <asn:4> *icsk_ulp_data
> > 
> > vim +36 include/net/espintcp.h
> > 
> >     31	
> >     32	static inline struct espintcp_ctx *espintcp_getctx(const struct sock *sk)
> >     33	{
> >     34		struct inet_connection_sock *icsk = inet_csk(sk);
> >     35	
> >   > 36		return icsk->icsk_ulp_data;
> 
> Sabrina, can you please fix this and resend the patchset?

Yep, will do.

> Also, icsk_ulp_data has a __rcu annotation, so maybe better
> using rcu primitives to access the pointer?

Apparently RCU protection of icsk_ulp_data is only needed for diag
(see commit 15a7dea750e0 ("net/tls: use RCU protection on
icsk->icsk_ulp_data")). I'll check this and update the patch.

> Another thing, where is espintcp_ctx that is assigned to
> icsk_ulp_data freed?

That's in espintcp_destruct:

static void espintcp_destruct(struct sock *sk)
{
	struct espintcp_ctx *ctx = espintcp_getctx(sk);

	kfree(ctx);
}


Thanks,

-- 
Sabrina

WARNING: multiple messages have this Message-ID (diff)
From: Sabrina Dubroca <sd@queasysnail.net>
To: kbuild-all@lists.01.org
Subject: Re: [ipsec-next:testing 7/8] include/net/espintcp.h:36:20: sparse: sparse: incorrect type in return expression (different address spaces)
Date: Tue, 08 Oct 2019 09:39:53 +0200	[thread overview]
Message-ID: <20191008073953.GA1408676@bistromath.localdomain> (raw)
In-Reply-To: <20191008055509.GW2879@gauss3.secunet.de>

[-- Attachment #1: Type: text/plain, Size: 2237 bytes --]

2019-10-08, 07:55:09 +0200, Steffen Klassert wrote:
> On Sun, Oct 06, 2019 at 10:46:40AM +0800, kbuild test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git testing
> > head:   5374d99ba41893b4bb1ddbe35a88b1f08e860903
> > commit: 735de2631f8680ac714df1ecc8e052785e9f9f8e [7/8] xfrm: add espintcp (RFC 8229)
> > reproduce:
> >         # apt-get install sparse
> >         # sparse version: v0.6.1-rc1-42-g38eda53-dirty
> >         git checkout 735de2631f8680ac714df1ecc8e052785e9f9f8e
> >         make ARCH=x86_64 allmodconfig
> >         make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
> > 
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@intel.com>
> > 
> > 
> > >> include/net/espintcp.h:36:20: sparse:    expected struct espintcp_ctx *
> > >> include/net/espintcp.h:36:20: sparse:    got void [noderef] <asn:4> *icsk_ulp_data
> > >> include/net/espintcp.h:36:20: sparse: sparse: incorrect type in return expression (different address spaces) @@    expected struct espintcp_ctx * @@    got voistruct espintcp_ctx * @@
> > >> include/net/espintcp.h:36:20: sparse:    expected struct espintcp_ctx *
> > >> include/net/espintcp.h:36:20: sparse:    got void [noderef] <asn:4> *icsk_ulp_data
> > 
> > vim +36 include/net/espintcp.h
> > 
> >     31	
> >     32	static inline struct espintcp_ctx *espintcp_getctx(const struct sock *sk)
> >     33	{
> >     34		struct inet_connection_sock *icsk = inet_csk(sk);
> >     35	
> >   > 36		return icsk->icsk_ulp_data;
> 
> Sabrina, can you please fix this and resend the patchset?

Yep, will do.

> Also, icsk_ulp_data has a __rcu annotation, so maybe better
> using rcu primitives to access the pointer?

Apparently RCU protection of icsk_ulp_data is only needed for diag
(see commit 15a7dea750e0 ("net/tls: use RCU protection on
icsk->icsk_ulp_data")). I'll check this and update the patch.

> Another thing, where is espintcp_ctx that is assigned to
> icsk_ulp_data freed?

That's in espintcp_destruct:

static void espintcp_destruct(struct sock *sk)
{
	struct espintcp_ctx *ctx = espintcp_getctx(sk);

	kfree(ctx);
}


Thanks,

-- 
Sabrina

  reply	other threads:[~2019-10-08  7:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-06  2:46 [ipsec-next:testing 7/8] include/net/espintcp.h:36:20: sparse: sparse: incorrect type in return expression (different address spaces) kbuild test robot
2019-10-06  2:46 ` kbuild test robot
2019-10-08  5:55 ` Steffen Klassert
2019-10-08  5:55   ` Steffen Klassert
2019-10-08  7:39   ` Sabrina Dubroca [this message]
2019-10-08  7:39     ` Sabrina Dubroca

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191008073953.GA1408676@bistromath.localdomain \
    --to=sd@queasysnail.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=kbuild-all@01.org \
    --cc=lkp@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=steffen.klassert@secunet.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.