From: David S. Miller Date: Tue, 2 Jul 2019 02:15:46 +0000 (-0700) Subject: Merge branch 'idr-fix-overflow-cases-on-32-bit-CPU' X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8a534f8fb0dc44694a437b575060499efd1c91de;p=linux.git Merge branch 'idr-fix-overflow-cases-on-32-bit-CPU' Cong Wang says: ==================== idr: fix overflow cases on 32-bit CPU idr_get_next_ul() is problematic by design, it can't handle the following overflow case well on 32-bit CPU: u32 id = UINT_MAX; idr_alloc_u32(&id); while (idr_get_next_ul(&id) != NULL) id++; when 'id' overflows and becomes 0 after UINT_MAX, the loop goes infinite. Fix this by eliminating external users of idr_get_next_ul() and migrating them to idr_for_each_entry_continue_ul(). And add an additional parameter for these iteration macros to detect overflow properly. Please merge this through networking tree, as all the users are in networking subsystem. ==================== Signed-off-by: David S. Miller --- 8a534f8fb0dc44694a437b575060499efd1c91de