[PATCH] rxrpc: use assign_bit() where applicable

Peng Fan (OSS) peng.fan at oss.nxp.com
Sat Sep 19 19:27:52 PDT 2026


From: Peng Fan <peng.fan at nxp.com>

Convert open-coded if/else with set_bit/clear_bit the assign_bit API.

Done with Coccinelle semantic patch:
    // set_bit -> clear_bit => assign_bit

    @@
    expression cond, bit, addr;
    @@

    -if (cond)
    -        set_bit(bit, addr);
    -else
    -        clear_bit(bit, addr);
    +assign_bit(bit, addr, cond);

    @@
    expression cond, bit, addr;
    @@

    -if (cond)
    -        clear_bit(bit, addr);
    -else
    -        set_bit(bit, addr);
    +assign_bit(bit, addr, !cond);

Signed-off-by: Peng Fan <peng.fan at nxp.com>
---
 net/rxrpc/af_rxrpc.c   | 5 +----
 net/rxrpc/server_key.c | 5 +----
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/net/rxrpc/af_rxrpc.c b/net/rxrpc/af_rxrpc.c
index 9ab0f22c881e..61e785b0048f 100644
--- a/net/rxrpc/af_rxrpc.c
+++ b/net/rxrpc/af_rxrpc.c
@@ -722,10 +722,7 @@ static int rxrpc_setsockopt(struct socket *sock, int level, int optname,
 			ret = -EINVAL;
 			if (val > 1)
 				goto error;
-			if (val)
-				set_bit(RXRPC_SOCK_MANAGE_RESPONSE, &rx->flags);
-			else
-				clear_bit(RXRPC_SOCK_MANAGE_RESPONSE, &rx->flags);
+			assign_bit(RXRPC_SOCK_MANAGE_RESPONSE, &rx->flags, val);
 			goto success;
 
 		default:
diff --git a/net/rxrpc/server_key.c b/net/rxrpc/server_key.c
index 3efe104b1930..726d6f34dd18 100644
--- a/net/rxrpc/server_key.c
+++ b/net/rxrpc/server_key.c
@@ -205,10 +205,7 @@ int rxrpc_sock_set_manage_response(struct sock *sk, bool set)
 
 	lock_sock(sk);
 	ret = !!test_bit(RXRPC_SOCK_MANAGE_RESPONSE, &rx->flags);
-	if (set)
-		set_bit(RXRPC_SOCK_MANAGE_RESPONSE, &rx->flags);
-	else
-		clear_bit(RXRPC_SOCK_MANAGE_RESPONSE, &rx->flags);
+	assign_bit(RXRPC_SOCK_MANAGE_RESPONSE, &rx->flags, set);
 	release_sock(sk);
 	return ret;
 }
-- 
2.51.0




More information about the linux-afs mailing list