diff mbox series

[SRU,Focal,1/1] bdi: use bdi_dev_name() to get device name

Message ID 0f2913b8d9e23462d8bafec60dc3b1ec953e404b.1726673629.git.jacob.martin@canonical.com
State New
Headers show
Series fix wbt:wbt_* trace event NULL pointer dereference with GENHD_FL_HIDDEN disks | expand

Commit Message

Jacob Martin Sept. 18, 2024, 4:43 p.m. UTC
From: Yufen Yu <yuyufen@huawei.com>

BugLink: https://bugs.launchpad.net/bugs/2081085

Use the common interface bdi_dev_name() to get device name.

Signed-off-by: Yufen Yu <yuyufen@huawei.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>

Add missing <linux/backing-dev.h> include BFQ

Signed-off-by: Jens Axboe <axboe@kernel.dk>

(cherry picked from commit d51cfc53ade3189455a1b88ec7a2ff0c24597cf8)
Signed-off-by: Jacob Martin <jacob.martin@canonical.com>
---
 block/bfq-iosched.c        | 6 ++++--
 block/blk-cgroup.c         | 2 +-
 fs/ceph/debugfs.c          | 2 +-
 include/trace/events/wbt.h | 8 ++++----
 4 files changed, 10 insertions(+), 8 deletions(-)

Comments

Jacob Martin Sept. 18, 2024, 4:53 p.m. UTC | #1
Sending a v2 to fix threading.

On 9/18/24 11:43 AM, Jacob Martin wrote:
> From: Yufen Yu <yuyufen@huawei.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/2081085
> 
> Use the common interface bdi_dev_name() to get device name.
> 
> Signed-off-by: Yufen Yu <yuyufen@huawei.com>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Reviewed-by: Jan Kara <jack@suse.cz>
> Reviewed-by: Bart Van Assche <bvanassche@acm.org>
> 
> Add missing <linux/backing-dev.h> include BFQ
> 
> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> 
> (cherry picked from commit d51cfc53ade3189455a1b88ec7a2ff0c24597cf8)
> Signed-off-by: Jacob Martin <jacob.martin@canonical.com>
> ---
>   block/bfq-iosched.c        | 6 ++++--
>   block/blk-cgroup.c         | 2 +-
>   fs/ceph/debugfs.c          | 2 +-
>   include/trace/events/wbt.h | 8 ++++----
>   4 files changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
> index c73c8b0f5e40..e35ecd2bdff1 100644
> --- a/block/bfq-iosched.c
> +++ b/block/bfq-iosched.c
> @@ -123,6 +123,7 @@
>   #include <linux/ioprio.h>
>   #include <linux/sbitmap.h>
>   #include <linux/delay.h>
> +#include <linux/backing-dev.h>
>   
>   #include "blk.h"
>   #include "blk-mq.h"
> @@ -5006,8 +5007,9 @@ bfq_set_next_ioprio_data(struct bfq_queue *bfqq, struct bfq_io_cq *bic)
>   	ioprio_class = IOPRIO_PRIO_CLASS(bic->ioprio);
>   	switch (ioprio_class) {
>   	default:
> -		dev_err(bfqq->bfqd->queue->backing_dev_info->dev,
> -			"bfq: bad prio class %d\n", ioprio_class);
> +		pr_err("bdi %s: bfq: bad prio class %d\n",
> +				bdi_dev_name(bfqq->bfqd->queue->backing_dev_info),
> +				ioprio_class);
>   		/* fall through */
>   	case IOPRIO_CLASS_NONE:
>   		/*
> diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
> index cd085a0e5e4a..510c85e80f64 100644
> --- a/block/blk-cgroup.c
> +++ b/block/blk-cgroup.c
> @@ -495,7 +495,7 @@ const char *blkg_dev_name(struct blkcg_gq *blkg)
>   {
>   	/* some drivers (floppy) instantiate a queue w/o disk registered */
>   	if (blkg->q->backing_dev_info->dev)
> -		return dev_name(blkg->q->backing_dev_info->dev);
> +		return bdi_dev_name(blkg->q->backing_dev_info);
>   	return NULL;
>   }
>   
> diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c
> index c4947688134b..3b6f28827113 100644
> --- a/fs/ceph/debugfs.c
> +++ b/fs/ceph/debugfs.c
> @@ -271,7 +271,7 @@ void ceph_fs_debugfs_init(struct ceph_fs_client *fsc)
>   				    &congestion_kb_fops);
>   
>   	snprintf(name, sizeof(name), "../../bdi/%s",
> -		 dev_name(fsc->sb->s_bdi->dev));
> +		 bdi_dev_name(fsc->sb->s_bdi));
>   	fsc->debugfs_bdi =
>   		debugfs_create_symlink("bdi",
>   				       fsc->client->debugfs_dir,
> diff --git a/include/trace/events/wbt.h b/include/trace/events/wbt.h
> index 37342a13c9cb..9996420d7ec4 100644
> --- a/include/trace/events/wbt.h
> +++ b/include/trace/events/wbt.h
> @@ -33,7 +33,7 @@ TRACE_EVENT(wbt_stat,
>   	),
>   
>   	TP_fast_assign(
> -		strlcpy(__entry->name, dev_name(bdi->dev),
> +		strlcpy(__entry->name, bdi_dev_name(bdi),
>   			ARRAY_SIZE(__entry->name));
>   		__entry->rmean		= stat[0].mean;
>   		__entry->rmin		= stat[0].min;
> @@ -68,7 +68,7 @@ TRACE_EVENT(wbt_lat,
>   	),
>   
>   	TP_fast_assign(
> -		strlcpy(__entry->name, dev_name(bdi->dev),
> +		strlcpy(__entry->name, bdi_dev_name(bdi),
>   			ARRAY_SIZE(__entry->name));
>   		__entry->lat = div_u64(lat, 1000);
>   	),
> @@ -105,7 +105,7 @@ TRACE_EVENT(wbt_step,
>   	),
>   
>   	TP_fast_assign(
> -		strlcpy(__entry->name, dev_name(bdi->dev),
> +		strlcpy(__entry->name, bdi_dev_name(bdi),
>   			ARRAY_SIZE(__entry->name));
>   		__entry->msg	= msg;
>   		__entry->step	= step;
> @@ -141,7 +141,7 @@ TRACE_EVENT(wbt_timer,
>   	),
>   
>   	TP_fast_assign(
> -		strlcpy(__entry->name, dev_name(bdi->dev),
> +		strlcpy(__entry->name, bdi_dev_name(bdi),
>   			ARRAY_SIZE(__entry->name));
>   		__entry->status		= status;
>   		__entry->step		= step;
diff mbox series

Patch

diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index c73c8b0f5e40..e35ecd2bdff1 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -123,6 +123,7 @@ 
 #include <linux/ioprio.h>
 #include <linux/sbitmap.h>
 #include <linux/delay.h>
+#include <linux/backing-dev.h>
 
 #include "blk.h"
 #include "blk-mq.h"
@@ -5006,8 +5007,9 @@  bfq_set_next_ioprio_data(struct bfq_queue *bfqq, struct bfq_io_cq *bic)
 	ioprio_class = IOPRIO_PRIO_CLASS(bic->ioprio);
 	switch (ioprio_class) {
 	default:
-		dev_err(bfqq->bfqd->queue->backing_dev_info->dev,
-			"bfq: bad prio class %d\n", ioprio_class);
+		pr_err("bdi %s: bfq: bad prio class %d\n",
+				bdi_dev_name(bfqq->bfqd->queue->backing_dev_info),
+				ioprio_class);
 		/* fall through */
 	case IOPRIO_CLASS_NONE:
 		/*
diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
index cd085a0e5e4a..510c85e80f64 100644
--- a/block/blk-cgroup.c
+++ b/block/blk-cgroup.c
@@ -495,7 +495,7 @@  const char *blkg_dev_name(struct blkcg_gq *blkg)
 {
 	/* some drivers (floppy) instantiate a queue w/o disk registered */
 	if (blkg->q->backing_dev_info->dev)
-		return dev_name(blkg->q->backing_dev_info->dev);
+		return bdi_dev_name(blkg->q->backing_dev_info);
 	return NULL;
 }
 
diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c
index c4947688134b..3b6f28827113 100644
--- a/fs/ceph/debugfs.c
+++ b/fs/ceph/debugfs.c
@@ -271,7 +271,7 @@  void ceph_fs_debugfs_init(struct ceph_fs_client *fsc)
 				    &congestion_kb_fops);
 
 	snprintf(name, sizeof(name), "../../bdi/%s",
-		 dev_name(fsc->sb->s_bdi->dev));
+		 bdi_dev_name(fsc->sb->s_bdi));
 	fsc->debugfs_bdi =
 		debugfs_create_symlink("bdi",
 				       fsc->client->debugfs_dir,
diff --git a/include/trace/events/wbt.h b/include/trace/events/wbt.h
index 37342a13c9cb..9996420d7ec4 100644
--- a/include/trace/events/wbt.h
+++ b/include/trace/events/wbt.h
@@ -33,7 +33,7 @@  TRACE_EVENT(wbt_stat,
 	),
 
 	TP_fast_assign(
-		strlcpy(__entry->name, dev_name(bdi->dev),
+		strlcpy(__entry->name, bdi_dev_name(bdi),
 			ARRAY_SIZE(__entry->name));
 		__entry->rmean		= stat[0].mean;
 		__entry->rmin		= stat[0].min;
@@ -68,7 +68,7 @@  TRACE_EVENT(wbt_lat,
 	),
 
 	TP_fast_assign(
-		strlcpy(__entry->name, dev_name(bdi->dev),
+		strlcpy(__entry->name, bdi_dev_name(bdi),
 			ARRAY_SIZE(__entry->name));
 		__entry->lat = div_u64(lat, 1000);
 	),
@@ -105,7 +105,7 @@  TRACE_EVENT(wbt_step,
 	),
 
 	TP_fast_assign(
-		strlcpy(__entry->name, dev_name(bdi->dev),
+		strlcpy(__entry->name, bdi_dev_name(bdi),
 			ARRAY_SIZE(__entry->name));
 		__entry->msg	= msg;
 		__entry->step	= step;
@@ -141,7 +141,7 @@  TRACE_EVENT(wbt_timer,
 	),
 
 	TP_fast_assign(
-		strlcpy(__entry->name, dev_name(bdi->dev),
+		strlcpy(__entry->name, bdi_dev_name(bdi),
 			ARRAY_SIZE(__entry->name));
 		__entry->status		= status;
 		__entry->step		= step;