diff options
| author | Michal Kazior <michal.kazior@tieto.com> | 2013-07-31 10:55:11 +0200 |
|---|---|---|
| committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2013-08-02 09:37:28 +0300 |
| commit | 432358ed1d18c19dbf89008325ff6ba662d0996e (patch) | |
| tree | 4f68a8770547ed4380c49d8d9328f518fafe6c0c /include/linux/platform_data | |
| parent | 2e1dea40512d7e99a7e91ac88a6f434a5d7c6fde (diff) | |
ath10k: prevent using invalid ringbuffer indexes
If the device is removed and hotplug fails
ioread32() will return 0xFFFFFFFF. In that case
reading ringbuffer during device bringup led to
out-of-bounds addressing of a ringbuffer array
that in turn led to a paging failure.
This could be reproduced by the following:
* boot without acpi/prevent hotplug from working
* insert and manually detect (pci rescan) the device
* remove the device physically
* load ath10k driver
* kernel crashed
Ringbuffer index reading is now protected by using
an appropriate mask to prevent addressing an
invalid array index.
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'include/linux/platform_data')
0 files changed, 0 insertions, 0 deletions
