Hopefully this isn't too late for 3.12.
In commit 7dc19d5aff (convert shrinkers to new count/scan API)
the return value to PURGE_ALL_CACHES was dropped, causing -EPERM
to always be returned.
This patch re-adds the ret assignment, setting it to the the
ashmem_shrink_count(), which is the lru_count.
(Sorry this was missed in the review!)
Cc: Greg KH <[email protected]>
Cc: Colin Cross <[email protected]>
Cc: Android Kernel Team <[email protected]>
Cc: Dave Chinner <[email protected]>
Cc: Glauber Costa <[email protected]>
Reported-by: YongQin Liu <[email protected]>
Signed-off-by: John Stultz <[email protected]>
---
drivers/staging/android/ashmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
index 8e76ddc..5a5e9c9 100644
--- a/drivers/staging/android/ashmem.c
+++ b/drivers/staging/android/ashmem.c
@@ -706,7 +706,7 @@ static long ashmem_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
.gfp_mask = GFP_KERNEL,
.nr_to_scan = LONG_MAX,
};
-
+ ret = ashmem_shrink_count(&ashmem_shrinker, &sc);
nodes_setall(sc.nodes_to_scan);
ashmem_shrink_scan(&ashmem_shrinker, &sc);
}
--
1.8.1.2
On Mon, Oct 21, 2013 at 09:58:07AM -0700, John Stultz wrote:
> Hopefully this isn't too late for 3.12.
>
> In commit 7dc19d5aff (convert shrinkers to new count/scan API)
> the return value to PURGE_ALL_CACHES was dropped, causing -EPERM
> to always be returned.
>
> This patch re-adds the ret assignment, setting it to the the
> ashmem_shrink_count(), which is the lru_count.
Looks sane.
Acked-by: Dave Chinner <[email protected]>
--
Dave Chinner
[email protected]