mptcp: preserve const qualifier in mptcp_sk()
We can change mptcp_sk() to propagate its argument const qualifier, thanks to container_of_const(). We need to change few things to avoid build errors: mptcp_set_datafin_timeout() and mptcp_rtx_head() have to accept non-const sk pointers. @msk local variable in mptcp_pending_tail() must be const. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Matthieu Baerts <matthieu.baerts@tessares.net> Reviewed-by: Simon Horman <simon.horman@corigine.com> Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c7154ca8e0
commit
403a40f230
|
@ -459,7 +459,7 @@ static bool mptcp_pending_data_fin(struct sock *sk, u64 *seq)
|
|||
return false;
|
||||
}
|
||||
|
||||
static void mptcp_set_datafin_timeout(const struct sock *sk)
|
||||
static void mptcp_set_datafin_timeout(struct sock *sk)
|
||||
{
|
||||
struct inet_connection_sock *icsk = inet_csk(sk);
|
||||
u32 retransmits;
|
||||
|
|
|
@ -334,10 +334,7 @@ static inline void msk_owned_by_me(const struct mptcp_sock *msk)
|
|||
sock_owned_by_me((const struct sock *)msk);
|
||||
}
|
||||
|
||||
static inline struct mptcp_sock *mptcp_sk(const struct sock *sk)
|
||||
{
|
||||
return (struct mptcp_sock *)sk;
|
||||
}
|
||||
#define mptcp_sk(ptr) container_of_const(ptr, struct mptcp_sock, sk.icsk_inet.sk)
|
||||
|
||||
/* the msk socket don't use the backlog, also account for the bulk
|
||||
* free memory
|
||||
|
@ -371,7 +368,7 @@ static inline struct mptcp_data_frag *mptcp_send_next(struct sock *sk)
|
|||
|
||||
static inline struct mptcp_data_frag *mptcp_pending_tail(const struct sock *sk)
|
||||
{
|
||||
struct mptcp_sock *msk = mptcp_sk(sk);
|
||||
const struct mptcp_sock *msk = mptcp_sk(sk);
|
||||
|
||||
if (!msk->first_pending)
|
||||
return NULL;
|
||||
|
@ -382,7 +379,7 @@ static inline struct mptcp_data_frag *mptcp_pending_tail(const struct sock *sk)
|
|||
return list_last_entry(&msk->rtx_queue, struct mptcp_data_frag, list);
|
||||
}
|
||||
|
||||
static inline struct mptcp_data_frag *mptcp_rtx_head(const struct sock *sk)
|
||||
static inline struct mptcp_data_frag *mptcp_rtx_head(struct sock *sk)
|
||||
{
|
||||
struct mptcp_sock *msk = mptcp_sk(sk);
|
||||
|
||||
|
|
Loading…
Reference in New Issue