* [ipsec-next:testing 7/8] include/net/espintcp.h:36:20: sparse: sparse: incorrect type in return expression (different address spaces)
@ 2019-10-06 2:46 kbuild test robot
2019-10-08 5:55 ` Steffen Klassert
0 siblings, 1 reply; 3+ messages in thread
From: kbuild test robot @ 2019-10-06 2:46 UTC (permalink / raw)
To: Sabrina Dubroca; +Cc: kbuild-all, netdev, Steffen Klassert, Herbert Xu
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>
sparse warnings: (new ones prefixed by >>)
>> 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
>> 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
>> 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
>> 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
>> 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
>> 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
>> 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
>> 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
>> net/xfrm/espintcp.c:421:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] <asn:4> *icsk_ulp_data @@ got struct evoid [noderef] <asn:4> *icsk_ulp_data @@
>> net/xfrm/espintcp.c:421:29: sparse: expected void [noderef] <asn:4> *icsk_ulp_data
>> net/xfrm/espintcp.c:421:29: sparse: got struct espintcp_ctx *[assigned] ctx
>> 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
>> 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
>> 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;
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ipsec-next:testing 7/8] include/net/espintcp.h:36:20: sparse: sparse: incorrect type in return expression (different address spaces)
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-08 5:55 ` Steffen Klassert
2019-10-08 7:39 ` Sabrina Dubroca
0 siblings, 1 reply; 3+ messages in thread
From: Steffen Klassert @ 2019-10-08 5:55 UTC (permalink / raw)
To: kbuild test robot; +Cc: Sabrina Dubroca, kbuild-all, netdev, Herbert Xu
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?
Also, icsk_ulp_data has a __rcu annotation, so maybe better
using rcu primitives to access the pointer?
Another thing, where is espintcp_ctx that is assigned to
icsk_ulp_data freed?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [ipsec-next:testing 7/8] include/net/espintcp.h:36:20: sparse: sparse: incorrect type in return expression (different address spaces)
2019-10-08 5:55 ` Steffen Klassert
@ 2019-10-08 7:39 ` Sabrina Dubroca
0 siblings, 0 replies; 3+ messages in thread
From: Sabrina Dubroca @ 2019-10-08 7:39 UTC (permalink / raw)
To: Steffen Klassert; +Cc: kbuild test robot, kbuild-all, netdev, Herbert Xu
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-10-08 7:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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-08 5:55 ` Steffen Klassert
2019-10-08 7:39 ` Sabrina Dubroca
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).