| From afa3f82fc59c05c499e8a5467a5945e17af84f15 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 9 Jun 2023 14:04:43 +0300 |
| Subject: sctp: handle invalid error codes without calling BUG() |
| |
| From: Dan Carpenter <dan.carpenter@linaro.org> |
| |
| [ Upstream commit a0067dfcd9418fd3b0632bc59210d120d038a9c6 ] |
| |
| The sctp_sf_eat_auth() function is supposed to return enum sctp_disposition |
| values but if the call to sctp_ulpevent_make_authkey() fails, it returns |
| -ENOMEM. |
| |
| This results in calling BUG() inside the sctp_side_effects() function. |
| Calling BUG() is an over reaction and not helpful. Call WARN_ON_ONCE() |
| instead. |
| |
| This code predates git. |
| |
| Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| net/sctp/sm_sideeffect.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c |
| index 169819263c0bb..87822421b99db 100644 |
| --- a/net/sctp/sm_sideeffect.c |
| +++ b/net/sctp/sm_sideeffect.c |
| @@ -1235,7 +1235,10 @@ static int sctp_side_effects(enum sctp_event event_type, |
| default: |
| pr_err("impossible disposition %d in state %d, event_type %d, event_id %d\n", |
| status, state, event_type, subtype.chunk); |
| - BUG(); |
| + error = status; |
| + if (error >= 0) |
| + error = -EINVAL; |
| + WARN_ON_ONCE(1); |
| break; |
| } |
| |
| -- |
| 2.40.1 |
| |