Re: [RFC PATCH 1/2] block: export block_class and disk_type symbols

From: Greg Kroah-Hartman
Date: Mon May 03 2021 - 00:48:46 EST


On Sun, May 02, 2021 at 11:37:35PM -0300, Enzo Matsumiya wrote:
> On 05/01, Greg Kroah-Hartman wrote:
> > On Fri, Apr 30, 2021 at 03:32:10PM -0300, Enzo Matsumiya wrote:
> > > Export symbols to be used by _for_each_blk() helper in LED block
> > > trigger.
> > >
> > > Signed-off-by: Enzo Matsumiya <ematsumiya@xxxxxxx>
> > > ---
> > > block/genhd.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/block/genhd.c b/block/genhd.c
> > > index 8c8f543572e6..516495179230 100644
> > > --- a/block/genhd.c
> > > +++ b/block/genhd.c
> > > @@ -1218,6 +1218,7 @@ static void disk_release(struct device *dev)
> > > struct class block_class = {
> > > .name = "block",
> > > };
> > > +EXPORT_SYMBOL(block_class);
> > >
> > > static char *block_devnode(struct device *dev, umode_t *mode,
> > > kuid_t *uid, kgid_t *gid)
> > > @@ -1235,6 +1236,7 @@ const struct device_type disk_type = {
> > > .release = disk_release,
> > > .devnode = block_devnode,
> > > };
> > > +EXPORT_SYMBOL(disk_type);
> > >
> > > #ifdef CONFIG_PROC_FS
> > > /*
> >
> > Please please no. These should not be needed by anything.
> >
> > And if they really do, they must be EXPORT_SYMBOL_GPL().
> >
> > thanks,
> >
> > greg k-h
>
> Thanks. I was indeed skeptical about submitting this particular change.
>
> Do you think it's more acceptable if I implement a for_each_blk() helper
> (cf. patch 2 on this series) on block code?
>
> I couldn't find any other way to do this (get all block devices on the
> system), so please let me know if I missed something.

Why would you want a list of all block devices in the system? What are
you going to do with such a thing? How does the block core handle other
random drivers getting references to the things it thinks it controls?

thanks,

greg k-h