Messages in this thread | | | Date | Fri, 16 Jul 2004 22:15:23 +0200 | From | Andries Brouwer <> | Subject | Re: [PATCH] Fix NR_KEYS off-by-one error |
| |
On Sat, Jul 17, 2004 at 01:35:59AM +0900, OGAWA Hirofumi wrote:
:: KDGKBENT ioctl can use 256 entries (0-255), but it was defined as :: key_map[NR_KEYS] (NR_KEYS == 255). The code seems also thinking it's 256. :: :: key_map[0] = U(K_ALLOCATED); :: for (j = 1; j < NR_KEYS; j++) :: key_map[j] = U(K_HOLE);
I think the code has no opinion. It was 128 in 2.4. I am not aware of assumptions on NR_KEYS. So, do not think this is an off-by-one error. Vojtech did this intentionally.
However, I have no objections. In fact loadkeys uses 256.
On Fri, Jul 16, 2004 at 06:44:35PM +0200, Vojtech Pavlik wrote:
> The patch might cause problems, though, because some apps may (in > old versions are) using a char variable to index up to NR_KEYS, > which leads to an endless loop.
The binaries will still work. If the utility is recompiled, against recent kernel headers, then the person doing that is responsible for the result.
I just checked kbd, but there are no such char variables there. Do you have specific utilities in mind? Is X OK?
Andries - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |