--- /dev/null
+From 23881aec85f3219e8462e87c708815ee2cd82358 Mon Sep 17 00:00:00 2001
+From: Mauricio Faria de Oliveira <mfo@canonical.com>
+Date: Thu, 20 Jul 2023 11:30:32 -0300
+Subject: loop: deprecate autoloading callback loop_probe()
+
+From: Mauricio Faria de Oliveira <mfo@canonical.com>
+
+commit 23881aec85f3219e8462e87c708815ee2cd82358 upstream.
+
+The 'probe' callback in __register_blkdev() is only used under the
+CONFIG_BLOCK_LEGACY_AUTOLOAD deprecation guard.
+
+The loop_probe() function is only used for that callback, so guard it
+too, accordingly.
+
+See commit fbdee71bb5d8 ("block: deprecate autoloading based on dev_t").
+
+Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Link: https://lore.kernel.org/r/20230720143033.841001-2-mfo@canonical.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Cc: Sven Joachim <svenjoac@gmx.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/block/loop.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/block/loop.c
++++ b/drivers/block/loop.c
+@@ -2118,6 +2118,7 @@ static void loop_remove(struct loop_devi
+ put_disk(lo->lo_disk);
+ }
+
++#ifdef CONFIG_BLOCK_LEGACY_AUTOLOAD
+ static void loop_probe(dev_t dev)
+ {
+ int idx = MINOR(dev) >> part_shift;
+@@ -2126,6 +2127,9 @@ static void loop_probe(dev_t dev)
+ return;
+ loop_add(idx);
+ }
++#else
++#define loop_probe NULL
++#endif /* !CONFIG_BLOCK_LEGACY_AUTOLOAD */
+
+ static int loop_control_remove(int idx)
+ {