> -----Original Message-----
> From: Tomas Hozza [mailto:tho...@redhat.com]
> Sent: Tuesday, January 08, 2013 6:27 AM
> To: gre...@linuxfoundation.org
> Cc: KY Srinivasan; jasow...@redhat.com; Haiyang Zhang; linux-
> ker...@vger.kernel.org; Hashir Abdi; Tomas Hozza
> Subject: [PATCH 2/2] tools: hv: Use CLOEXEC when opening kvp_pool files
> 
> Use CLOEXEC flag when opening kvp_pool_x files to prevent file
> descriptor leakage. Not using it was causing a problem when
> SELinux was enabled.
> 
> Signed-off-by: Tomas Hozza <tho...@redhat.com>
Acked-by: K. Y. Srinivasan <k...@microsoft.com

> ---
>  tools/hv/hv_kvp_daemon.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/hv/hv_kvp_daemon.c b/tools/hv/hv_kvp_daemon.c
> index 6b56b75..31f839cc 100644
> --- a/tools/hv/hv_kvp_daemon.c
> +++ b/tools/hv/hv_kvp_daemon.c
> @@ -151,7 +151,7 @@ static void kvp_update_file(int pool)
>        */
>       kvp_acquire_lock(pool);
> 
> -     filep = fopen(kvp_file_info[pool].fname, "w");
> +     filep = fopen(kvp_file_info[pool].fname, "we");
>       if (!filep) {
>               kvp_release_lock(pool);
>               syslog(LOG_ERR, "Failed to open file, pool: %d", pool);
> @@ -182,7 +182,7 @@ static void kvp_update_mem_state(int pool)
> 
>       kvp_acquire_lock(pool);
> 
> -     filep = fopen(kvp_file_info[pool].fname, "r");
> +     filep = fopen(kvp_file_info[pool].fname, "re");
>       if (!filep) {
>               kvp_release_lock(pool);
>               syslog(LOG_ERR, "Failed to open file, pool: %d", pool);
> @@ -246,13 +246,13 @@ static int kvp_file_init(void)
>               records_read = 0;
>               num_blocks = 1;
>               sprintf(fname, "/var/opt/hyperv/.kvp_pool_%d", i);
> -             fd = open(fname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR |
> S_IROTH);
> +             fd = open(fname, O_RDWR | O_CREAT | O_CLOEXEC, S_IRUSR |
> S_IWUSR | S_IROTH);
> 
>               if (fd == -1)
>                       return 1;
> 
> 
> -             filep = fopen(fname, "r");
> +             filep = fopen(fname, "re");
>               if (!filep)
>                       return 1;
> 
> --
> 1.7.11.7
> 
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to