projects
/
platform
/
kernel
/
linux-amlogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
36e3b94
)
mISDN: Fix a use after free in hfcmulti_tx()
author
Dan Carpenter
<dan.carpenter@linaro.org>
Wed, 24 Jul 2024 16:08:18 +0000
(11:08 -0500)
committer
Jakub Kicinski
<kuba@kernel.org>
Thu, 25 Jul 2024 15:05:05 +0000
(08:05 -0700)
Don't dereference *sp after calling dev_kfree_skb(*sp).
Fixes: af69fb3a8ffa ("Add mISDN HFC multiport driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link:
https://patch.msgid.link/8be65f5a-c2dd-4ba0-8a10-bfe5980b8cfb@stanley.mountain
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/isdn/hardware/mISDN/hfcmulti.c
patch
|
blob
|
history
diff --git
a/drivers/isdn/hardware/mISDN/hfcmulti.c
b/drivers/isdn/hardware/mISDN/hfcmulti.c
index 0d2928d8aeae8f45d28b4263321d87ee4f09785b..e5a483fd9ad86f5878b9fcb5a603025aa8b68cb7 100644
(file)
--- a/
drivers/isdn/hardware/mISDN/hfcmulti.c
+++ b/
drivers/isdn/hardware/mISDN/hfcmulti.c
@@
-1901,7
+1901,7
@@
hfcmulti_dtmf(struct hfc_multi *hc)
static void
hfcmulti_tx(struct hfc_multi *hc, int ch)
{
- int i, ii, temp, len = 0;
+ int i, ii, temp,
tmp_len,
len = 0;
int Zspace, z1, z2; /* must be int for calculation */
int Fspace, f1, f2;
u_char *d;
@@
-2122,14
+2122,15
@@
next_frame:
HFC_wait_nodebug(hc);
}
+ tmp_len = (*sp)->len;
dev_kfree_skb(*sp);
/* check for next frame */
if (bch && get_next_bframe(bch)) {
- len =
(*sp)->
len;
+ len =
tmp_
len;
goto next_frame;
}
if (dch && get_next_dframe(dch)) {
- len =
(*sp)->
len;
+ len =
tmp_
len;
goto next_frame;
}