On 2016/9/22 5:10, David Rientjes wrote: > On Wed, 21 Sep 2016, zijun_hu wrote: > >> From: zijun_hu <zijun_hu@xxxxxxx> >> >> correct a few logic error for __insert_vmap_area() since the else >> if condition is always true and meaningless >> >> in order to fix this issue, if vmap_area inserted is lower than one >> on rbtree then walk around left branch; if higher then right branch >> otherwise intersects with the other then BUG_ON() is triggered >> > > Under normal operation, you're right that the "else if" conditional should > always succeed: we don't want to BUG() unless there's a bug. The original > code can catch instances when va->va_start == tmp_va->va_end where we > should BUG(). Your code silently ignores it. > Hmm, the BUG_ON() appears in the original code, i don't introduce it. it maybe be better to consider va->va_start == tmp_va->va_end as normal case and should not BUG_ON() it since the available range of vmap_erea include the start boundary but the end, BTW, represented as [start, end) this patch correct the logic to that mentioned in the comments, it maybe be more logical and more understandable -- 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>