2022-10-27 14:00:29

by Jim Lin

[permalink] [raw]
Subject: [PATCH v5 1/3] xhci: hub: export symbol on xhci_hub_control

Add EXPORT_SYMBOL_GPL on xhci_hub_control() for other driver module
to invoke and avoid linking error.

Signed-off-by: Jim Lin <[email protected]>

---
v5: new change

drivers/usb/host/xhci-hub.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index af946c42b6f0..4f20cdae2a89 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -1604,6 +1604,7 @@ int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
spin_unlock_irqrestore(&xhci->lock, flags);
return retval;
}
+EXPORT_SYMBOL_GPL(xhci_hub_control);

/*
* Returns 0 if the status hasn't changed, or the number of bytes in buf.
--
2.17.1



2022-10-27 15:01:42

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v5 1/3] xhci: hub: export symbol on xhci_hub_control

On Thu, Oct 27, 2022 at 09:31:25PM +0800, Jim Lin wrote:
> Add EXPORT_SYMBOL_GPL on xhci_hub_control() for other driver module
> to invoke and avoid linking error.

What other driver module?

There is no user here :(

confused,

greg k-h

2022-10-28 05:54:59

by Jim Lin

[permalink] [raw]
Subject: Re: [PATCH v5 1/3] xhci: hub: export symbol on xhci_hub_control

On Thu, 2022-10-27 at 15:58 +0200, Greg KH wrote:
> External email: Use caution opening links or attachments
>
>
> On Thu, Oct 27, 2022 at 09:31:25PM +0800, Jim Lin wrote:
> > Add EXPORT_SYMBOL_GPL on xhci_hub_control() for other driver module
> > to invoke and avoid linking error.
>
> What other driver module?
>
> There is no user here :(
>
> confused,
>

In arch/arm/configs/multi_v7_defconfig
It defines
CONFIG_USB_XHCI_TEGRA=m

If I don't add EXPORT_SYMBOL_GPL on xhci_hub_control()
, I will get compile/linking error like

ERROR: modpost: "xhci_hub_control" [drivers/usb/host/xhci-tegra.ko]
undefined!

if patch
"[PATCH v5,3/3] xhci: tegra: USB2 pad power controls"

https://patchwork.kernel.org/project/linux-usb/patch/[email protected]/
is added in xhci-tegra.c to invoke xhci_hub_control()

Should I integrate this patch with [PATCH v5,3/3] as one?

--nvpublic

2022-10-28 06:16:47

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v5 1/3] xhci: hub: export symbol on xhci_hub_control

On Fri, Oct 28, 2022 at 05:36:41AM +0000, Jim Lin wrote:
> On Thu, 2022-10-27 at 15:58 +0200, Greg KH wrote:
> > External email: Use caution opening links or attachments
> >
> >
> > On Thu, Oct 27, 2022 at 09:31:25PM +0800, Jim Lin wrote:
> > > Add EXPORT_SYMBOL_GPL on xhci_hub_control() for other driver module
> > > to invoke and avoid linking error.
> >
> > What other driver module?
> >
> > There is no user here :(
> >
> > confused,
> >
>
> In arch/arm/configs/multi_v7_defconfig
> It defines
> CONFIG_USB_XHCI_TEGRA=m
>
> If I don't add EXPORT_SYMBOL_GPL on xhci_hub_control()
> , I will get compile/linking error like
>
> ERROR: modpost: "xhci_hub_control" [drivers/usb/host/xhci-tegra.ko]
> undefined!
>
> if patch
> "[PATCH v5,3/3] xhci: tegra: USB2 pad power controls"
>
> https://patchwork.kernel.org/project/linux-usb/patch/[email protected]/
> is added in xhci-tegra.c to invoke xhci_hub_control()
>
> Should I integrate this patch with [PATCH v5,3/3] as one?

Yes, do not add something that is not needed for that specific commit,
otherwise it causes reviewers to be confused.

thanks,

greg k-h

2022-10-28 10:53:40

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH v5 1/3] xhci: hub: export symbol on xhci_hub_control

On Fri, Oct 28, 2022 at 08:04:54AM +0200, [email protected] wrote:
> On Fri, Oct 28, 2022 at 05:36:41AM +0000, Jim Lin wrote:
> > On Thu, 2022-10-27 at 15:58 +0200, Greg KH wrote:
> > > External email: Use caution opening links or attachments
> > >
> > >
> > > On Thu, Oct 27, 2022 at 09:31:25PM +0800, Jim Lin wrote:
> > > > Add EXPORT_SYMBOL_GPL on xhci_hub_control() for other driver module
> > > > to invoke and avoid linking error.
> > >
> > > What other driver module?
> > >
> > > There is no user here :(
> > >
> > > confused,
> > >
> >
> > In arch/arm/configs/multi_v7_defconfig
> > It defines
> > CONFIG_USB_XHCI_TEGRA=m
> >
> > If I don't add EXPORT_SYMBOL_GPL on xhci_hub_control()
> > , I will get compile/linking error like
> >
> > ERROR: modpost: "xhci_hub_control" [drivers/usb/host/xhci-tegra.ko]
> > undefined!
> >
> > if patch
> > "[PATCH v5,3/3] xhci: tegra: USB2 pad power controls"
> >
> > https://patchwork.kernel.org/project/linux-usb/patch/[email protected]/
> > is added in xhci-tegra.c to invoke xhci_hub_control()
> >
> > Should I integrate this patch with [PATCH v5,3/3] as one?
>
> Yes, do not add something that is not needed for that specific commit,
> otherwise it causes reviewers to be confused.

Other subsystem maintainers prefer core changes to be split from driver
changes, so this type of split is commonly encountered elsewhere.

Obviously, since this is your turf you get to make the rules. I'm just
trying to say that this kind of advice can be confusing for contributors
because when they then sent driver and code changes mixed for their next
submission, the subsystem maintainer might tell them otherwise.

Thierry


Attachments:
(No filename) (1.71 kB)
signature.asc (849.00 B)
Download all attachments

2022-10-28 11:20:11

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH v5 1/3] xhci: hub: export symbol on xhci_hub_control

On Fri, Oct 28, 2022 at 12:37:15PM +0200, [email protected] wrote:
> On Fri, Oct 28, 2022 at 11:50:47AM +0200, Thierry Reding wrote:
> > On Fri, Oct 28, 2022 at 08:04:54AM +0200, [email protected] wrote:
> > > On Fri, Oct 28, 2022 at 05:36:41AM +0000, Jim Lin wrote:
> > > > On Thu, 2022-10-27 at 15:58 +0200, Greg KH wrote:
> > > > > External email: Use caution opening links or attachments
> > > > >
> > > > >
> > > > > On Thu, Oct 27, 2022 at 09:31:25PM +0800, Jim Lin wrote:
> > > > > > Add EXPORT_SYMBOL_GPL on xhci_hub_control() for other driver module
> > > > > > to invoke and avoid linking error.
> > > > >
> > > > > What other driver module?
> > > > >
> > > > > There is no user here :(
> > > > >
> > > > > confused,
> > > > >
> > > >
> > > > In arch/arm/configs/multi_v7_defconfig
> > > > It defines
> > > > CONFIG_USB_XHCI_TEGRA=m
> > > >
> > > > If I don't add EXPORT_SYMBOL_GPL on xhci_hub_control()
> > > > , I will get compile/linking error like
> > > >
> > > > ERROR: modpost: "xhci_hub_control" [drivers/usb/host/xhci-tegra.ko]
> > > > undefined!
> > > >
> > > > if patch
> > > > "[PATCH v5,3/3] xhci: tegra: USB2 pad power controls"
> > > >
> > > > https://patchwork.kernel.org/project/linux-usb/patch/[email protected]/
> > > > is added in xhci-tegra.c to invoke xhci_hub_control()
> > > >
> > > > Should I integrate this patch with [PATCH v5,3/3] as one?
> > >
> > > Yes, do not add something that is not needed for that specific commit,
> > > otherwise it causes reviewers to be confused.
> >
> > Other subsystem maintainers prefer core changes to be split from driver
> > changes, so this type of split is commonly encountered elsewhere.
> >
> > Obviously, since this is your turf you get to make the rules. I'm just
> > trying to say that this kind of advice can be confusing for contributors
> > because when they then sent driver and code changes mixed for their next
> > submission, the subsystem maintainer might tell them otherwise.
>
> Sure, but if you do split it up like this, DOCUMENT WHY THE EXPORT IS
> NEEDED. That didn't happen here so I had no idea why this was even an
> issue.
>
> And yes, I am very sensitive to this, we have had LOTS of people trying
> to export xhci symbols in the past few years for no in-kernel users,
> despite us constantly telling them that this is not allowed. It
> happened again, just yesterday:
> https://lore.kernel.org/r/[email protected]
>
> And at first glance, I assumed this was much the same as there was no
> description of why this was needed at all.

Agreed. I suppose this could've been spelled out more explicitly in the
cover letter or in patch 1.

Jim, please make sure to describe this dependency explicitly in v6.

Thierry


Attachments:
(No filename) (2.80 kB)
signature.asc (849.00 B)
Download all attachments

2022-10-28 11:37:49

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v5 1/3] xhci: hub: export symbol on xhci_hub_control

On Fri, Oct 28, 2022 at 11:50:47AM +0200, Thierry Reding wrote:
> On Fri, Oct 28, 2022 at 08:04:54AM +0200, [email protected] wrote:
> > On Fri, Oct 28, 2022 at 05:36:41AM +0000, Jim Lin wrote:
> > > On Thu, 2022-10-27 at 15:58 +0200, Greg KH wrote:
> > > > External email: Use caution opening links or attachments
> > > >
> > > >
> > > > On Thu, Oct 27, 2022 at 09:31:25PM +0800, Jim Lin wrote:
> > > > > Add EXPORT_SYMBOL_GPL on xhci_hub_control() for other driver module
> > > > > to invoke and avoid linking error.
> > > >
> > > > What other driver module?
> > > >
> > > > There is no user here :(
> > > >
> > > > confused,
> > > >
> > >
> > > In arch/arm/configs/multi_v7_defconfig
> > > It defines
> > > CONFIG_USB_XHCI_TEGRA=m
> > >
> > > If I don't add EXPORT_SYMBOL_GPL on xhci_hub_control()
> > > , I will get compile/linking error like
> > >
> > > ERROR: modpost: "xhci_hub_control" [drivers/usb/host/xhci-tegra.ko]
> > > undefined!
> > >
> > > if patch
> > > "[PATCH v5,3/3] xhci: tegra: USB2 pad power controls"
> > >
> > > https://patchwork.kernel.org/project/linux-usb/patch/[email protected]/
> > > is added in xhci-tegra.c to invoke xhci_hub_control()
> > >
> > > Should I integrate this patch with [PATCH v5,3/3] as one?
> >
> > Yes, do not add something that is not needed for that specific commit,
> > otherwise it causes reviewers to be confused.
>
> Other subsystem maintainers prefer core changes to be split from driver
> changes, so this type of split is commonly encountered elsewhere.
>
> Obviously, since this is your turf you get to make the rules. I'm just
> trying to say that this kind of advice can be confusing for contributors
> because when they then sent driver and code changes mixed for their next
> submission, the subsystem maintainer might tell them otherwise.

Sure, but if you do split it up like this, DOCUMENT WHY THE EXPORT IS
NEEDED. That didn't happen here so I had no idea why this was even an
issue.

And yes, I am very sensitive to this, we have had LOTS of people trying
to export xhci symbols in the past few years for no in-kernel users,
despite us constantly telling them that this is not allowed. It
happened again, just yesterday:
https://lore.kernel.org/r/[email protected]

And at first glance, I assumed this was much the same as there was no
description of why this was needed at all.

thanks,

greg k-h