On Tue, May 21, 2013 at 10:13 AM, Oskar Andero <oskar.andero@xxxxxxxxxxxxxx> wrote: > Add a VM_BUG_ON to catch any illegal value from the shrinkers. It's a > potential bug if scan_objects returns a negative other than -1 and > would lead to undefined behaviour. > > Cc: Glauber Costa <glommer@xxxxxxxxxx> > Cc: Dave Chinner <dchinner@xxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Hugh Dickins <hughd@xxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Oskar Andero <oskar.andero@xxxxxxxxxxxxxx> > --- > mm/vmscan.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 6bac41e..63fec86 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -293,6 +293,7 @@ shrink_slab_one(struct shrinker *shrinker, struct shrink_control *shrinkctl, > ret = shrinker->scan_objects(shrinker, shrinkctl); > if (ret == -1) > break; > + VM_BUG_ON(ret < -1); It seems to me relaxing the shrinker API restrictions and changing the "ret == -1" to "ret < 0" would be a much more robust approach... > freed += ret; > > count_vm_events(SLABS_SCANNED, nr_to_scan); > -- > 1.8.1.5 > > -- > 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> -- 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>