2013-10-21 16:58:19

by John Stultz

[permalink] [raw]
Subject: [PATCH] staging: ashmem: Fix ASHMEM_PURGE_ALL_CACHES return value

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


2013-10-22 20:48:48

by Dave Chinner

[permalink] [raw]
Subject: Re: [PATCH] staging: ashmem: Fix ASHMEM_PURGE_ALL_CACHES return value

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]