On Sat, Sep 24, 2016 at 4:35 PM, Cedric Blancher <cedric.blancher@xxxxxxxxx> wrote: >> >> void *entry = parent->slots[offset]; >> int siboff = entry - parent->slots; > > If entry is a pointer to void, how can you do pointer arithmetic with it? It's actually void **. (That said, gcc has an extension that considers "void *" to be a byte pointer, so you can actually do arithmetic on them, and it acts like "char *") > Also, if you use pointer distances, the use of int is not valid, it > should then be ptrdiff_t siboff. The use of "int" is perfectly valid, since it's limited by RADIX_TREE_MAP_SIZE, so it's going to be a small integer. Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>