]> Pileus Git - ~andy/linux/commitdiff
tcp: remove invalid __rcu annotation
authorEric Dumazet <edumazet@google.com>
Tue, 25 Jun 2013 08:21:06 +0000 (01:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 25 Jun 2013 09:44:05 +0000 (02:44 -0700)
struct tcp_fastopen_context has a field named tfm, which is a pointer
to a crypto_cipher structure.

It currently has a __rcu annotation, which is not needed at all.

tcp_fastopen_ctx is the pointer fetched by rcu_dereference(), but once
we have a pointer to current tcp_fastopen_context, we do not use/need
rcu_dereference() to access tfm.

This fixes a lot of sparse errors like the following :

net/ipv4/tcp_fastopen.c:21:31: warning: incorrect type in argument 1 (different address spaces)
net/ipv4/tcp_fastopen.c:21:31:    expected struct crypto_cipher *tfm
net/ipv4/tcp_fastopen.c:21:31:    got struct crypto_cipher [noderef] <asn:4>*tfm

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Jerry Chu <hkchu@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h

index 6fa80831dc401f7fdfe44bbdff5c71a48b895235..d1980054ec75b92c716097c377478b02fdee3762 100644 (file)
@@ -1319,9 +1319,9 @@ void tcp_fastopen_cookie_gen(__be32 addr, struct tcp_fastopen_cookie *foc);
 
 /* Fastopen key context */
 struct tcp_fastopen_context {
-       struct crypto_cipher __rcu      *tfm;
-       __u8                            key[TCP_FASTOPEN_KEY_LENGTH];
-       struct rcu_head                 rcu;
+       struct crypto_cipher    *tfm;
+       __u8                    key[TCP_FASTOPEN_KEY_LENGTH];
+       struct rcu_head         rcu;
 };
 
 /* write queue abstraction */