2021-06-18 09:54:21

by 刘海龙(LaoLiu)

[permalink] [raw]
Subject: [PATCH] staging: android: ashmem: add size field in procfs fdinfo

add this information to help user to find ashmem problem.

ashmem leak scenario:
-000|fd = ashmem_create_region
-001|mmap and pagefault
-002|munmap
-003|forget close(fd) <---- which lead to ashmem leak

Signed-off-by: liuhailong <[email protected]>
---
drivers/staging/android/ashmem.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
index d66a64e42273..ee2fd75111d8 100644
--- a/drivers/staging/android/ashmem.c
+++ b/drivers/staging/android/ashmem.c
@@ -894,6 +894,8 @@ static void ashmem_show_fdinfo(struct seq_file *m, struct file *file)
seq_printf(m, "name:\t%s\n",
asma->name + ASHMEM_NAME_PREFIX_LEN);

+ seq_printf(m, "size:\t%zu\n", asma->size);
+
mutex_unlock(&ashmem_mutex);
}
#endif
--
2.30.2


2021-06-18 12:32:25

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] staging: android: ashmem: add size field in procfs fdinfo

On Fri, Jun 18, 2021 at 05:50:35PM +0800, liuhailong wrote:
> add this information to help user to find ashmem problem.
>
> ashmem leak scenario:
> -000|fd = ashmem_create_region
> -001|mmap and pagefault
> -002|munmap
> -003|forget close(fd) <---- which lead to ashmem leak
>
> Signed-off-by: liuhailong <[email protected]>
> ---
> drivers/staging/android/ashmem.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
> index d66a64e42273..ee2fd75111d8 100644
> --- a/drivers/staging/android/ashmem.c
> +++ b/drivers/staging/android/ashmem.c
> @@ -894,6 +894,8 @@ static void ashmem_show_fdinfo(struct seq_file *m, struct file *file)
> seq_printf(m, "name:\t%s\n",
> asma->name + ASHMEM_NAME_PREFIX_LEN);
>
> + seq_printf(m, "size:\t%zu\n", asma->size);
> +
> mutex_unlock(&ashmem_mutex);
> }
> #endif
> --
> 2.30.2
>
>

As you are changing a user-facing proc file, what tools will break now
that you have added a new line?

What tools do you use to look at this file and what has been modified to
handle the change?

thanks,

greg k-h

2021-06-18 12:33:38

by 刘海龙(LaoLiu)

[permalink] [raw]
Subject: 回复: [PATCH] staging: android: ashmem: add s ize field in procfs fdinfo

Hi
No user tools use this proc file as I know, I added this line can help user locate shmem leak issue.

tks

-----?ʼ?ԭ??-----
??????: Greg KH <[email protected]>
????ʱ??: 2021??6??18?? 18:23
?ռ???: ??????(DuckBuBee) <[email protected]>
????: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
????: Re: [PATCH] staging: android: ashmem: add size field in procfs fdinfo

On Fri, Jun 18, 2021 at 05:50:35PM +0800, liuhailong wrote:
> add this information to help user to find ashmem problem.
>
> ashmem leak scenario:
> -000|fd = ashmem_create_region
> -001|mmap and pagefault
> -002|munmap
> -003|forget close(fd) <---- which lead to ashmem leak
>
> Signed-off-by: liuhailong <[email protected]>
> ---
> drivers/staging/android/ashmem.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/staging/android/ashmem.c
> b/drivers/staging/android/ashmem.c
> index d66a64e42273..ee2fd75111d8 100644
> --- a/drivers/staging/android/ashmem.c
> +++ b/drivers/staging/android/ashmem.c
> @@ -894,6 +894,8 @@ static void ashmem_show_fdinfo(struct seq_file *m, struct file *file)
> seq_printf(m, "name:\t%s\n",
> asma->name + ASHMEM_NAME_PREFIX_LEN);
>
> + seq_printf(m, "size:\t%zu\n", asma->size);
> +
> mutex_unlock(&ashmem_mutex);
> }
> #endif
> --
> 2.30.2
>
>

As you are changing a user-facing proc file, what tools will break now that you have added a new line?

What tools do you use to look at this file and what has been modified to handle the change?

thanks,

greg k-h

2021-06-18 12:41:16

by 刘海龙(LaoLiu)

[permalink] [raw]
Subject: 回复: [PATCH] staging: android: ashmem: add s ize field in procfs fdinfo

I think this line also break other tool, because dma-buf fdinfo also add size field in procfs fdinfo.

2021-06-18 12:41:22

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: 回复: [PATCH ] staging: android: ashmem: add size field in procfs fdinfo

On Fri, Jun 18, 2021 at 10:40:28AM +0000, 刘海龙(DuckBuBee) wrote:
> Hi
> No user tools use this proc file as I know, I added this line can help user locate shmem leak issue.

Ok, thanks, I'll go queue it up.

greg k-h