Re: [PATCH] lib: idr: fix out-of-bounds pointer dereference

From: Lai Jiangshan
Date: Tue Jun 24 2014 - 03:48:00 EST



326cf0f0f308 ("idr: fix top layer handling") enlarged the pa array.
But the additional "+1" space is only used in id-allocation, it is free
in other usage, (paa may point to the additional "+1" space, but not dereference it).
so you can reuse it.

In the 3 functions your patch touched:
- struct idr_layer ***paa = &pa[0];
+ struct idr_layer ***paa = &pa[1];


I don't reject your patch, I had review it.

Reviewed-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>

The reason why I'm still muttering here is that I wish a simple solution
to fix the problem. And:
1) your patch also makes use of the additional "+1" @pa space: *++paa = p
2) your patch may slight enlarge the function body.
3) I think you patch reduces the readability a little although the idr code
itself is already shit.
--
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/