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: <x49r3h2ag8y.fsf@segfault.boston.devel.redhat.com>
Date:	Wed, 27 Jan 2016 16:01:49 -0500
From:	Jeff Moyer <jmoyer@...hat.com>
To:	Alexey Klimov <klimov.linux@...il.com>
Cc:	axboe@...nel.dk, linux-block@...r.kernel.org,
	linux-kernel@...r.kernel.org, yury.norov@...il.com
Subject: Re: [PATCH] elevator: remove second argument in elevator_init()

Alexey Klimov <klimov.linux@...il.com> writes:

> Last user of elevator_init() with non-NULL name as second argument
> that supposed to be s390 dasd driver has gone few releases ago.
> Drivers rely on elevator_change(), elevator_switch() and friends
> for example. Right now elevator_init() is always called as
> elevator_init(q, NULL).
>
> Patch removes passing of second name argument and its usage.
>
> While we're at it fix following if-check after removed lines. We know
> that elevator_type e is initialized by NULL and need to check only
> chosen_elevator.
>
> Signed-off-by: Alexey Klimov <klimov.linux@...il.com>

Reviewed-by: Jeff Moyer <jmoyer@...hat.com>


> ---
>  block/blk-core.c         |  2 +-
>  block/elevator.c         | 10 ++--------
>  include/linux/elevator.h |  2 +-
>  3 files changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/block/blk-core.c b/block/blk-core.c
> index 33e2f62..f742ef4 100644
> --- a/block/blk-core.c
> +++ b/block/blk-core.c
> @@ -861,7 +861,7 @@ blk_init_allocated_queue(struct request_queue *q, request_fn_proc *rfn,
>  	mutex_lock(&q->sysfs_lock);
>  
>  	/* init elevator */
> -	if (elevator_init(q, NULL)) {
> +	if (elevator_init(q)) {
>  		mutex_unlock(&q->sysfs_lock);
>  		goto fail;
>  	}
> diff --git a/block/elevator.c b/block/elevator.c
> index c3555c9..ff5c830 100644
> --- a/block/elevator.c
> +++ b/block/elevator.c
> @@ -177,7 +177,7 @@ static void elevator_release(struct kobject *kobj)
>  	kfree(e);
>  }
>  
> -int elevator_init(struct request_queue *q, char *name)
> +int elevator_init(struct request_queue *q)
>  {
>  	struct elevator_type *e = NULL;
>  	int err;
> @@ -196,18 +196,12 @@ int elevator_init(struct request_queue *q, char *name)
>  	q->end_sector = 0;
>  	q->boundary_rq = NULL;
>  
> -	if (name) {
> -		e = elevator_get(name, true);
> -		if (!e)
> -			return -EINVAL;
> -	}
> -
>  	/*
>  	 * Use the default elevator specified by config boot param or
>  	 * config option.  Don't try to load modules as we could be running
>  	 * off async and request_module() isn't allowed from async.
>  	 */
> -	if (!e && *chosen_elevator) {
> +	if (*chosen_elevator) {
>  		e = elevator_get(chosen_elevator, false);
>  		if (!e)
>  			printk(KERN_ERR "I/O scheduler %s not found\n",
> diff --git a/include/linux/elevator.h b/include/linux/elevator.h
> index 638b324..0ae0efd 100644
> --- a/include/linux/elevator.h
> +++ b/include/linux/elevator.h
> @@ -154,7 +154,7 @@ extern void elv_unregister(struct elevator_type *);
>  extern ssize_t elv_iosched_show(struct request_queue *, char *);
>  extern ssize_t elv_iosched_store(struct request_queue *, const char *, size_t);
>  
> -extern int elevator_init(struct request_queue *, char *);
> +extern int elevator_init(struct request_queue *);
>  extern void elevator_exit(struct elevator_queue *);
>  extern int elevator_change(struct request_queue *, const char *);
>  extern bool elv_rq_merge_ok(struct request *, struct bio *);

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ