On Sep 25, 2016 10:59 AM, "Cedric Blancher" <cedric.blancher@gmail.com> wrote:
> >
> > 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.
>
> A specific data type would be wise (aka radtr_mapsz_t) to prevent a
> disaster as SystemV had early during development.

Actually, you're right that the code is shit and shouldn't use an "int" there.

The value range is indeed just up to RADIX_TREE_MAP_SIZE, but since the code actually can get entries that are *not* sibling entries, it could overflow

The more I look at that particular piece of code, the less I like it. It's buggy shit. It needs to be rewritten entirely too actually check for sibling entries, not that ad-hoc arithmetic crap.

     Linus