diff options
author | Marc Zyngier <Marc.Zyngier@arm.com> | 2013-06-21 12:06:55 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-06-24 15:26:41 +0100 |
commit | b8e4a4740fa2b17c0a447b3ab783b3dc10702e27 (patch) | |
tree | d6315409786d92102af8e057c8c4183d2d002101 /mm | |
parent | ae120d9edfe96628f03d87634acda0bfa7110632 (diff) | |
download | linux-b8e4a4740fa2b17c0a447b3ab783b3dc10702e27.tar.bz2 |
ARM: 7768/1: prevent risks of out-of-bound access in ASID allocator
On a CPU that never ran anything, both the active and reserved ASID
fields are set to zero. In this case the ASID_TO_IDX() macro will
return -1, which is not a very useful value to index a bitmap.
Instead of trying to offset the ASID so that ASID #1 is actually
bit 0 in the asid_map bitmap, just always ignore bit 0 and start
the search from bit 1. This makes the code a bit more readable,
and without risk of OoB access.
Cc: <stable@vger.kernel.org> # 3.9
Acked-by: Will Deacon <will.deacon@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions