lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.20.1606081846390.30765@casper.infradead.org>
Date:	Wed, 8 Jun 2016 18:49:04 +0100 (BST)
From:	James Simmons <jsimmons@...radead.org>
To:	Binoy Jayan <binoy.jayan@...aro.org>
cc:	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Oleg Drokin <oleg.drokin@...el.com>,
	Andreas Dilger <andreas.dilger@...el.com>,
	lustre-devel@...ts.lustre.org,
	driverdev-devel@...uxdriverproject.org,
	linux-kernel@...r.kernel.org, Arnd Bergmann <arnd@...db.de>
Subject: Re: [PATCH 1/2] staging: lustre: lloop_device: Replace semaphore
 lo_sem with completion


> The semaphore 'lo_sem' in lloop_device is used as completion, so it
> should be written as one. Semaphores are going away in the future.
> 
> Signed-off-by: Binoy Jayan <binoy.jayan@...aro.org>

NAK. The lloop_device is about to get deleted.

> ---
>  drivers/staging/lustre/lustre/llite/lloop.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/staging/lustre/lustre/llite/lloop.c b/drivers/staging/lustre/lustre/llite/lloop.c
> index 813a9a3..90b31ba 100644
> --- a/drivers/staging/lustre/lustre/llite/lloop.c
> +++ b/drivers/staging/lustre/lustre/llite/lloop.c
> @@ -131,7 +131,7 @@ struct lloop_device {
>  	struct bio		*lo_bio;
>  	struct bio		*lo_biotail;
>  	int			lo_state;
> -	struct semaphore	lo_sem;
> +	struct completion	lo_comp;
>  	struct mutex		lo_ctl_mutex;
>  	atomic_t	 lo_pending;
>  	wait_queue_head_t	  lo_bh_wait;
> @@ -423,9 +423,9 @@ static int loop_thread(void *data)
>  	lo->lo_pvec.ldp_offsets = lo->lo_requests[0].lrd_offsets;
>  
>  	/*
> -	 * up sem, we are running
> +	 * signal completion, we are running
>  	 */
> -	up(&lo->lo_sem);
> +	complete(&lo->lo_comp);
>  
>  	for (;;) {
>  		wait_event(lo->lo_bh_wait, loop_active(lo));
> @@ -466,7 +466,7 @@ static int loop_thread(void *data)
>  	cl_env_put(env, &refcheck);
>  
>  out:
> -	up(&lo->lo_sem);
> +	complete(&lo->lo_comp);
>  	return ret;
>  }
>  
> @@ -539,7 +539,7 @@ static int loop_set_fd(struct lloop_device *lo, struct file *unused,
>  	set_blocksize(bdev, lo->lo_blocksize);
>  
>  	kthread_run(loop_thread, lo, "lloop%d", lo->lo_number);
> -	down(&lo->lo_sem);
> +	wait_for_completion(&lo->lo_comp);
>  	return 0;
>  
>  out:
> @@ -568,7 +568,7 @@ static int loop_clr_fd(struct lloop_device *lo, struct block_device *bdev,
>  	spin_unlock_irq(&lo->lo_lock);
>  	wake_up(&lo->lo_bh_wait);
>  
> -	down(&lo->lo_sem);
> +	wait_for_completion(&lo->lo_comp);
>  	lo->lo_backing_file = NULL;
>  	lo->lo_device = NULL;
>  	lo->lo_offset = 0;
> @@ -821,7 +821,7 @@ static int __init lloop_init(void)
>  			goto out_mem4;
>  
>  		mutex_init(&lo->lo_ctl_mutex);
> -		sema_init(&lo->lo_sem, 0);
> +		init_completion(&lo->lo_comp);
>  		init_waitqueue_head(&lo->lo_bh_wait);
>  		lo->lo_number = i;
>  		spin_lock_init(&lo->lo_lock);
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 
> _______________________________________________
> devel mailing list
> devel@...uxdriverproject.org
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ