[PATCH] rxrpc: recvmsg: use BUG_ON instead of if condition followed by BUG

Subsystems: networking [general], rxrpc sockets (af_rxrpc), the rest

STALE3210d

3 messages, 2 authors, 2017-10-25 · open the first message on its own page

[PATCH] rxrpc: recvmsg: use BUG_ON instead of if condition followed by BUG

From: Gustavo A. R. Silva <hidden>
Date: 2017-10-24 16:20:09

Use BUG_ON instead of if condition followed by BUG.

This issue was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <redacted>
---
 net/rxrpc/recvmsg.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/net/rxrpc/recvmsg.c b/net/rxrpc/recvmsg.c
index bdece21..9598b92 100644
--- a/net/rxrpc/recvmsg.c
+++ b/net/rxrpc/recvmsg.c
@@ -243,8 +243,7 @@ static int rxrpc_verify_packet(struct rxrpc_call *call, struct sk_buff *skb,
 	 */
 	if ((annotation & RXRPC_RX_ANNO_JUMBO) > 1) {
 		__be16 tmp;
-		if (skb_copy_bits(skb, offset - 2, &tmp, 2) < 0)
-			BUG();
+		BUG_ON(skb_copy_bits(skb, offset - 2, &tmp, 2) < 0);
 		cksum = ntohs(tmp);
 		seq += (annotation & RXRPC_RX_ANNO_JUMBO) - 1;
 	}
@@ -503,8 +502,7 @@ int rxrpc_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
 
 	release_sock(&rx->sk);
 
-	if (test_bit(RXRPC_CALL_RELEASED, &call->flags))
-		BUG();
+	BUG_ON(test_bit(RXRPC_CALL_RELEASED, &call->flags));
 
 	if (test_bit(RXRPC_CALL_HAS_USERID, &call->flags)) {
 		if (flags & MSG_CMSG_COMPAT) {
-- 
2.7.4

Re: [PATCH] rxrpc: recvmsg: use BUG_ON instead of if condition followed by BUG

From: Tom Herbert <hidden>
Date: 2017-10-25 01:41:03

Please combine these related patches fixing BUG in rxrpc into a patch
set with proper annotation,

Also, can any of these BUG_ONs be replaced by WARN_ONs? Warnings are
generally preferable to crashing the system.

Tom


On Tue, Oct 24, 2017 at 9:20 AM, Gustavo A. R. Silva
[off-list ref] wrote:
quoted hunk
Use BUG_ON instead of if condition followed by BUG.

This issue was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <redacted>
---
 net/rxrpc/recvmsg.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/net/rxrpc/recvmsg.c b/net/rxrpc/recvmsg.c
index bdece21..9598b92 100644
--- a/net/rxrpc/recvmsg.c
+++ b/net/rxrpc/recvmsg.c
@@ -243,8 +243,7 @@ static int rxrpc_verify_packet(struct rxrpc_call *call, struct sk_buff *skb,
         */
        if ((annotation & RXRPC_RX_ANNO_JUMBO) > 1) {
                __be16 tmp;
-               if (skb_copy_bits(skb, offset - 2, &tmp, 2) < 0)
-                       BUG();
+               BUG_ON(skb_copy_bits(skb, offset - 2, &tmp, 2) < 0);
                cksum = ntohs(tmp);
                seq += (annotation & RXRPC_RX_ANNO_JUMBO) - 1;
        }
@@ -503,8 +502,7 @@ int rxrpc_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,

        release_sock(&rx->sk);

-       if (test_bit(RXRPC_CALL_RELEASED, &call->flags))
-               BUG();
+       BUG_ON(test_bit(RXRPC_CALL_RELEASED, &call->flags));

        if (test_bit(RXRPC_CALL_HAS_USERID, &call->flags)) {
                if (flags & MSG_CMSG_COMPAT) {
--
2.7.4

Re: [PATCH] rxrpc: recvmsg: use BUG_ON instead of if condition followed by BUG

From: Gustavo A. R. Silva <hidden>
Date: 2017-10-25 02:02:38

Hi Tom,

Quoting Tom Herbert [off-list ref]:
Please combine these related patches fixing BUG in rxrpc into a patch
set with proper annotation,
I can do that.
Also, can any of these BUG_ONs be replaced by WARN_ONs? Warnings are
generally preferable to crashing the system.
What about WARN_ON_ONCE instead?

Thanks
--
Gustavo A. R. Silva
Tom


On Tue, Oct 24, 2017 at 9:20 AM, Gustavo A. R. Silva
[off-list ref] wrote:
quoted
Use BUG_ON instead of if condition followed by BUG.

This issue was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <redacted>
---
 net/rxrpc/recvmsg.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/net/rxrpc/recvmsg.c b/net/rxrpc/recvmsg.c
index bdece21..9598b92 100644
--- a/net/rxrpc/recvmsg.c
+++ b/net/rxrpc/recvmsg.c
@@ -243,8 +243,7 @@ static int rxrpc_verify_packet(struct  
rxrpc_call *call, struct sk_buff *skb,
         */
        if ((annotation & RXRPC_RX_ANNO_JUMBO) > 1) {
                __be16 tmp;
-               if (skb_copy_bits(skb, offset - 2, &tmp, 2) < 0)
-                       BUG();
+               BUG_ON(skb_copy_bits(skb, offset - 2, &tmp, 2) < 0);
                cksum = ntohs(tmp);
                seq += (annotation & RXRPC_RX_ANNO_JUMBO) - 1;
        }
@@ -503,8 +502,7 @@ int rxrpc_recvmsg(struct socket *sock, struct  
msghdr *msg, size_t len,

        release_sock(&rx->sk);

-       if (test_bit(RXRPC_CALL_RELEASED, &call->flags))
-               BUG();
+       BUG_ON(test_bit(RXRPC_CALL_RELEASED, &call->flags));

        if (test_bit(RXRPC_CALL_HAS_USERID, &call->flags)) {
                if (flags & MSG_CMSG_COMPAT) {
--
2.7.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help