mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 15:03:53 +02:00
block-6.16-20250725
-----BEGIN PGP SIGNATURE----- iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmiDdRYQHGF4Ym9lQGtl cm5lbC5kawAKCRD301j7KXHgpnkWD/9h7VFAPOxDCWvmp8awU3OoKVbJI5lo0656 Irch2xNlhtCAB6fUYSRPOq5xIZjNQmI5Fvzp7Gyto1fQYmtxsU75Kbgh7gzTOxsI j0I2KAwD2RrifozONOJa3aCYS8T18nEdcK32zMvVUegBAPhd9wI474fJJSAKa5t2 qhXcYMRyiy4Wc1Sz187kD5H7RBljdkgnmO0VcWbplwTW0vPID70tSacDKUW1Jmuf kSqDh52jzPaYyt7f2gr/TaiHf1TsUuGKdIS58gdN+CBXEMMo4IKOxrU0qFMytOr9 N1B2VzG9aEUZjZFqArOnO2BpUnfhHwI1JlqONOvdholpqTCVvdxpDlMIc918cQ+v 5mYTWOtYCE+ziLRJlp+ttNOipVLMOPemr/Rnb4w9I84Xsdt1dxAAv8MOuB4lGomT vSwoK6SLUS5u6PSSTAv8f9I1fgijghbzsXs6TpDwHMYujNQn/MyHJLIYQ4yWhDrJ 25bjLRYJePR83I1AdjbL/fJqCi6gUtzzRrDfN3xSziMo875mP0XxjPOaQeGLpMXM Br1GFrXHtvUZ/2ipvGzbVDL/qs3a5S/rQJ2HNhgQvd/FcSs1ZMirCEbWmTyDtNdj MkYu4VGFXwhVxVBXGqnShRRbf6KnLM/MC1GkQVpqfKjhMSBsBaJ68kCXbROVbkGj 3BSu0SlV0w== =Q1wN -----END PGP SIGNATURE----- Merge tag 'block-6.16-20250725' of git://git.kernel.dk/linux Pull block fix from Jens Axboe: "Just a single fix for regression in this release, where a module reference could be leaked" * tag 'block-6.16-20250725' of git://git.kernel.dk/linux: block: fix module reference leak in mq-deadline I/O scheduler
This commit is contained in:
commit
327579671a
|
@ -719,7 +719,8 @@ void elevator_set_default(struct request_queue *q)
|
||||||
.name = "mq-deadline",
|
.name = "mq-deadline",
|
||||||
.no_uevent = true,
|
.no_uevent = true,
|
||||||
};
|
};
|
||||||
int err = 0;
|
int err;
|
||||||
|
struct elevator_type *e;
|
||||||
|
|
||||||
/* now we allow to switch elevator */
|
/* now we allow to switch elevator */
|
||||||
blk_queue_flag_clear(QUEUE_FLAG_NO_ELV_SWITCH, q);
|
blk_queue_flag_clear(QUEUE_FLAG_NO_ELV_SWITCH, q);
|
||||||
|
@ -732,12 +733,18 @@ void elevator_set_default(struct request_queue *q)
|
||||||
* have multiple queues or mq-deadline is not available, default
|
* have multiple queues or mq-deadline is not available, default
|
||||||
* to "none".
|
* to "none".
|
||||||
*/
|
*/
|
||||||
if (elevator_find_get(ctx.name) && (q->nr_hw_queues == 1 ||
|
e = elevator_find_get(ctx.name);
|
||||||
blk_mq_is_shared_tags(q->tag_set->flags)))
|
if (!e)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if ((q->nr_hw_queues == 1 ||
|
||||||
|
blk_mq_is_shared_tags(q->tag_set->flags))) {
|
||||||
err = elevator_change(q, &ctx);
|
err = elevator_change(q, &ctx);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
pr_warn("\"%s\" elevator initialization, failed %d, "
|
pr_warn("\"%s\" elevator initialization, failed %d, falling back to \"none\"\n",
|
||||||
"falling back to \"none\"\n", ctx.name, err);
|
ctx.name, err);
|
||||||
|
}
|
||||||
|
elevator_put(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
void elevator_set_none(struct request_queue *q)
|
void elevator_set_none(struct request_queue *q)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user