X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=mm%2Fvmscan.c;h=ab631a3c62c3c1ffefa41cc510b5889e5ceb21ca;hb=bce5f6ba340b09d8b29902add204bb95a6d3d88b;hp=1fa312a8db7751aee563a9c6affaa0e1aa26007f;hpb=aef7b83c92dd0b7e994805440655d1d64147287b;p=linux-2.6 diff --git a/mm/vmscan.c b/mm/vmscan.c index 1fa312a8db..ab631a3c62 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -972,7 +972,7 @@ int try_to_free_pages(struct zone **zones, unsigned int gfp_mask) * writeout. So in laptop mode, write out the whole world. */ if (total_scanned > sc.swap_cluster_max + sc.swap_cluster_max/2) { - wakeup_bdflush(laptop_mode ? 0 : total_scanned); + wakeup_pdflush(laptop_mode ? 0 : total_scanned); sc.may_writepage = 1; } @@ -1375,6 +1375,9 @@ asmlinkage long sys_set_zone_reclaim(unsigned int node, unsigned int zone, struct zone *z; int i; + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; + if (node >= MAX_NUMNODES || !node_online(node)) return -EINVAL;