On Tue, Nov 09, 2010 at 12:54:13AM -0800, Greg Thelen wrote: > memcg limit and usage values are stored in res_counter, as 64-bit > numbers, even on 32-bit machines. The "free" variable in > memcg_hierarchical_free_pages() stores the difference between two > 64-bit numbers (limit - current_usage), and thus should be stored > in a 64-bit local rather than a machine defined unsigned long. It is converted to pages before the assignment, but even that might overflow on 32-bit if the difference is sufficiently large (> 1<<44). > Reported-by: Daisuke Nishimura <nishimura@xxxxxxxxxxxxxxxxx> > Signed-off-by: Greg Thelen <gthelen@xxxxxxxxxx> Reviewed-by: Johannes Weiner <hannes@xxxxxxxxxxx> -- 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 policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>