mptcp: fix 'masking a bool' warning
authorMatthieu Baerts <matthieu.baerts@tessares.net>
Fri, 25 Jun 2021 21:25:22 +0000 (14:25 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jun 2021 20:04:06 +0000 (13:04 -0700)
Dan Carpenter reported an issue introduced in
commit fde56eea01f9 ("mptcp: refine mptcp_cleanup_rbuf") where a new
boolean (ack_pending) is masked with 0x9.

This is not the intention to ignore values by using a boolean. This
variable should not have a 'bool' type: we should keep the 'u8' to allow
this comparison.

Fixes: fde56eea01f9 ("mptcp: refine mptcp_cleanup_rbuf")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mptcp/protocol.c

index ce0c45d..7bb8242 100644 (file)
@@ -455,7 +455,7 @@ static void mptcp_subflow_cleanup_rbuf(struct sock *ssk)
 static bool mptcp_subflow_could_cleanup(const struct sock *ssk, bool rx_empty)
 {
        const struct inet_connection_sock *icsk = inet_csk(ssk);
-       bool ack_pending = READ_ONCE(icsk->icsk_ack.pending);
+       u8 ack_pending = READ_ONCE(icsk->icsk_ack.pending);
        const struct tcp_sock *tp = tcp_sk(ssk);
 
        return (ack_pending & ICSK_ACK_SCHED) &&