[PATCH v2] ia64: bitvector_process could read out of bounds

From: Geyslan G. Bem
Date: Wed Dec 02 2015 - 15:00:37 EST


The units[] array could be accessed out of its bounds due the lack of
verification of the max vector value.

To make this function not prone to error "P" and "E" suffixes were added.
Despite the new suffixes are unrelated to current ia64 vm magnitudes, they
make the code ready for it and avoid misleadings.

Caught using static analysis (cppcheck).

Signed-off-by: Geyslan G. Bem <geyslan@xxxxxxxxx>
---
arch/ia64/kernel/palinfo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c
index c39c3cd..bb499102 100644
--- a/arch/ia64/kernel/palinfo.c
+++ b/arch/ia64/kernel/palinfo.c
@@ -126,7 +126,7 @@ static const char *mem_attrib[]={
static void bitvector_process(struct seq_file *m, u64 vector)
{
int i,j;
- static const char *units[]={ "", "K", "M", "G", "T" };
+ static const char *units[] = { "", "K", "M", "G", "T", "P", "E" };

for (i=0, j=0; i < 64; i++ , j=i/10) {
if (vector & 0x1)
--
2.6.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/