From 648b489e570416097a53752aebf1133b546551a7 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Wed, 19 Oct 2022 16:53:47 +0200 Subject: [PATCH] block: use the stripped name consistently in __elevator_change The stripped name is used to lookup the elevator only at the moment, but it should also be used for the special none check and the duplicate elevator check for consistency. Based on a patch from Jinlong Chen . Signed-off-by: Christoph Hellwig --- block/elevator.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/block/elevator.c b/block/elevator.c index e208597238c5..5139c5f58c10 100644 --- a/block/elevator.c +++ b/block/elevator.c @@ -739,9 +739,12 @@ int elevator_switch(struct request_queue *q, struct elevator_type *new_e) */ static int __elevator_change(struct request_queue *q, const char *name) { - char elevator_name[ELV_NAME_MAX]; + char __name[ELV_NAME_MAX]; struct elevator_type *e; + strlcpy(__name, name, sizeof(__name)); + name = strstrip(__name); + /* Make sure queue is not in the middle of being removed */ if (!blk_queue_registered(q)) return -ENOENT; @@ -755,13 +758,11 @@ static int __elevator_change(struct request_queue *q, const char *name) return elevator_switch(q, NULL); } - strlcpy(elevator_name, name, sizeof(elevator_name)); - e = elevator_get(q, strstrip(elevator_name), true); + e = elevator_get(q, name, true); if (!e) return -EINVAL; - if (q->elevator && - elevator_match(q->elevator->type, elevator_name, 0)) { + if (q->elevator && elevator_match(q->elevator->type, name, 0)) { elevator_put(e); return 0; } -- 2.50.1