diff options
| author | Michael Kelley <[email protected]> | 2022-11-16 18:41:24 +0000 |
|---|---|---|
| committer | Borislav Petkov <[email protected]> | 2022-11-22 11:21:16 +0000 |
| commit | 4dbd6a3e90e03130973688fd79e19425f720d999 (patch) | |
| tree | 8b729bacbb98600b4113065a29c37feeaf49800e /net/bluetooth/hci_request.c | |
| parent | x86/pm: Add enumeration check before spec MSRs save/restore setup (diff) | |
| download | kernel-4dbd6a3e90e03130973688fd79e19425f720d999.tar.gz kernel-4dbd6a3e90e03130973688fd79e19425f720d999.zip | |
x86/ioremap: Fix page aligned size calculation in __ioremap_caller()
Current code re-calculates the size after aligning the starting and
ending physical addresses on a page boundary. But the re-calculation
also embeds the masking of high order bits that exceed the size of
the physical address space (via PHYSICAL_PAGE_MASK). If the masking
removes any high order bits, the size calculation results in a huge
value that is likely to immediately fail.
Fix this by re-calculating the page-aligned size first. Then mask any
high order bits using PHYSICAL_PAGE_MASK.
Fixes: ffa71f33a820 ("x86, ioremap: Fix incorrect physical address handling in PAE mode")
Signed-off-by: Michael Kelley <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Acked-by: Dave Hansen <[email protected]>
Cc: <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'net/bluetooth/hci_request.c')
0 files changed, 0 insertions, 0 deletions
