On Wed, 2011-02-23 at 21:31 -0800, Hugh Dickins wrote: > The radix_tree_deref_retry() case in find_get_pages() has a strange > little excrescence, not seen in the other gang lookups: it looks like > the start of an abandoned attempt to guarantee forward progress in a > case that cannot arise. > > ret should always be 0 here: if it isn't, then going back to restart > will leak references to pages already gotten. There used to be a > comment saying nr_found is necessarily 1 here: that's not quite true, > but the radix_tree_deref_retry() case is peculiar to the entry at index > 0, when we race with it being moved out of the radix_tree root or back. > > Remove the worrisome two lines, add a brief comment here and in > find_get_pages_contig() and find_get_pages_tag(), and a WARN_ON > in find_get_pages() should it ever be seen elsewhere than at 0. > > Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href