@@ -319,7 +319,7 @@ out:
* chunks of ashmem regions LRU-wise one-at-a-time until we hit 'nr_to_scan'
* pages freed.
*/
-static int ashmem_shrink(int nr_to_scan, gfp_t gfp_mask)
+static int ashmem_shrink(struct shrinker *s, int nr_to_scan, gfp_t gfp_mask)
{
struct ashmem_range *range, *next;
@@ -634,8 +634,8 @@ static long ashmem_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
case ASHMEM_PURGE_ALL_CACHES:
ret = -EPERM;
if (capable(CAP_SYS_ADMIN)) {
- ret = ashmem_shrink(0, GFP_KERNEL);
- ashmem_shrink(ret, GFP_KERNEL);
+ ret = ashmem_shrink(&ashmem_shrinker, 0, GFP_KERNEL);
+ ashmem_shrink(&ashmem_shrinker, ret, GFP_KERNEL);
}
break;
}