projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
488d349
)
staging: wfx: le16_to_cpus() takes a reference as parameter
author
Jérôme Pouiller
<jerome.pouiller@silabs.com>
Tue, 8 Oct 2019 09:42:59 +0000
(09:42 +0000)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Tue, 8 Oct 2019 12:41:14 +0000
(14:41 +0200)
Original code caused an (100% reproducible) invalid memory access on
big-endian targets.
Fixes:
b0998f0c040d
"staging: wfx: add IRQ handling"
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link:
https://lore.kernel.org/r/20191008094232.10014-4-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/bh.c
patch
|
blob
|
history
diff --git
a/drivers/staging/wfx/bh.c
b/drivers/staging/wfx/bh.c
index
6000c03
..
3715bb1
100644
(file)
--- a/
drivers/staging/wfx/bh.c
+++ b/
drivers/staging/wfx/bh.c
@@
-83,12
+83,12
@@
static int rx_helper(struct wfx_dev *wdev, size_t read_len, int *is_cnf)
// piggyback is probably correct.
return piggyback;
}
- le16_to_cpus(hif->len);
+ le16_to_cpus(
&
hif->len);
computed_len = round_up(hif->len - sizeof(hif->len), 16)
+ sizeof(struct hif_sl_msg)
+ sizeof(struct hif_sl_tag);
} else {
- le16_to_cpus(hif->len);
+ le16_to_cpus(
&
hif->len);
computed_len = round_up(hif->len, 2);
}
if (computed_len != read_len) {