linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: build failure after merge of the keys tree
@ 2019-08-29  5:31 Stephen Rothwell
  2019-09-02  6:19 ` Stephen Rothwell
  2019-09-02 16:01 ` David Howells
  0 siblings, 2 replies; 10+ messages in thread
From: Stephen Rothwell @ 2019-08-29  5:31 UTC (permalink / raw)
  To: David Howells
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

[-- Attachment #1: Type: text/plain, Size: 325 bytes --]

Hi all,

After merging the keys tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:


Caused by commit

  ef9cc255c953 ("usb: Add USB subsystem notifications")

# CONFIG_USB_NOTIFICATIONS is not set

I have used the keys tree from next-20190828 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux-next: build failure after merge of the keys tree
  2019-08-29  5:31 linux-next: build failure after merge of the keys tree Stephen Rothwell
@ 2019-09-02  6:19 ` Stephen Rothwell
  2019-09-02 16:01 ` David Howells
  1 sibling, 0 replies; 10+ messages in thread
From: Stephen Rothwell @ 2019-09-02  6:19 UTC (permalink / raw)
  To: David Howells
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

[-- Attachment #1: Type: text/plain, Size: 2699 bytes --]

Hi all,

On Thu, 29 Aug 2019 15:31:16 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the keys tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
> 
> 
> Caused by commit
> 
>   ef9cc255c953 ("usb: Add USB subsystem notifications")
> 
> # CONFIG_USB_NOTIFICATIONS is not set
> 
> I have used the keys tree from next-20190828 for today.

I only realised this morning that I forgot to include the error log
(sorry):

In file included from include/linux/usb/phy.h:15,
                 from include/linux/usb/otg.h:14,
                 from include/linux/usb/tegra_usb_phy.h:21,
                 from arch/arm/mach-tegra/tegra.c:27:
include/linux/usb.h:2026:34: error: parameter 2 ('subtype') has incomplete type
 2026 |       enum usb_notification_type subtype,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
include/linux/usb.h:2025:20: error: function declaration isn't a prototype [-Werror=strict-prototypes]
 2025 | static inline void post_usb_device_notification(const struct usb_device *udev,
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/usb.h:2029:38: error: parameter 2 ('subtype') has incomplete type
 2029 |           enum usb_notification_type subtype,
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
include/linux/usb.h:2028:20: error: function declaration isn't a prototype [-Werror=strict-prototypes]
 2028 | static inline void post_usb_bus_notification(const struct usb_bus *ubus,
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~

(several more like this)

Today I have included the following fix patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 2 Sep 2019 16:01:59 +1000
Subject: [PATCH] usb: include watch_queue.h for needed enum

The forward declararion doesn't seem to work (at laste for the
!CONFIG_USB_NOTIFICATIONS case.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 include/linux/usb.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/usb.h b/include/linux/usb.h
index a7d5fce46569..11438058f4fa 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -4,6 +4,7 @@
 
 #include <linux/mod_devicetable.h>
 #include <linux/usb/ch9.h>
+#include <linux/watch_queue.h>
 
 #define USB_MAJOR			180
 #define USB_DEVICE_MAJOR		189
@@ -26,7 +27,6 @@
 struct usb_device;
 struct usb_driver;
 struct wusb_dev;
-enum usb_notification_type;
 
 /*-------------------------------------------------------------------------*/
 
-- 
2.23.0.rc1

I then discovered that I needed to install libkeyutils-dev :-( but it
built OK after that.
-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: linux-next: build failure after merge of the keys tree
  2019-08-29  5:31 linux-next: build failure after merge of the keys tree Stephen Rothwell
  2019-09-02  6:19 ` Stephen Rothwell
@ 2019-09-02 16:01 ` David Howells
  2019-09-02 23:07   ` Stephen Rothwell
  2019-09-02 23:20   ` David Howells
  1 sibling, 2 replies; 10+ messages in thread
From: David Howells @ 2019-09-02 16:01 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: dhowells, Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> The forward declararion doesn't seem to work (at laste for the
> !CONFIG_USB_NOTIFICATIONS case.

In the !CONFIG_USB_NOTIFICATIONS case, the argument is to a stub inline
function.  Even though the argument isn't actually used, it can't be an
undefined type - and, I'm guessing, an undefined size, meaning the compiler
doesn't know how many registers/how much stack space it would occupy before
getting to the error argument.

I have a fix for this in my tree that just makes it an unsigned int in the
disabled case:

static inline void post_usb_device_notification(const struct usb_device *udev,
						unsigned int subtype, u32 error) {}

> +#include <linux/watch_queue.h>

I was trying to avoid that if I could to avoid introducing the possibility of
circular deps, but that might not be a problem in this case.

> I then discovered that I needed to install libkeyutils-dev :-( but it
> built OK after that.

?  The kernel shouldn't require that to build.

David

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux-next: build failure after merge of the keys tree
  2019-09-02 16:01 ` David Howells
@ 2019-09-02 23:07   ` Stephen Rothwell
  2019-09-02 23:21     ` Stephen Rothwell
  2019-09-02 23:53     ` David Howells
  2019-09-02 23:20   ` David Howells
  1 sibling, 2 replies; 10+ messages in thread
From: Stephen Rothwell @ 2019-09-02 23:07 UTC (permalink / raw)
  To: David Howells
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

[-- Attachment #1: Type: text/plain, Size: 1388 bytes --]

Hi David,

On Mon, 02 Sep 2019 17:01:19 +0100 David Howells <dhowells@redhat.com> wrote:
>
> Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> 
> > The forward declararion doesn't seem to work (at laste for the
> > !CONFIG_USB_NOTIFICATIONS case.  
> 
> In the !CONFIG_USB_NOTIFICATIONS case, the argument is to a stub inline
> function.  Even though the argument isn't actually used, it can't be an
> undefined type - and, I'm guessing, an undefined size, meaning the compiler
> doesn't know how many registers/how much stack space it would occupy before
> getting to the error argument.
> 
> I have a fix for this in my tree that just makes it an unsigned int in the
> disabled case:
> 
> static inline void post_usb_device_notification(const struct usb_device *udev,
> 						unsigned int subtype, u32 error) {}

But not published, yet?

> > +#include <linux/watch_queue.h>  
> 
> I was trying to avoid that if I could to avoid introducing the possibility of
> circular deps, but that might not be a problem in this case.

Seems to be OK for x86_64 allmodconfig at least.

> 
> > I then discovered that I needed to install libkeyutils-dev :-( but it
> > built OK after that.  
> 
> ?  The kernel shouldn't require that to build.

I was doing an x86_64 allmodconfig build which seems to build (all of?)
the samples.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux-next: build failure after merge of the keys tree
  2019-09-02 16:01 ` David Howells
  2019-09-02 23:07   ` Stephen Rothwell
@ 2019-09-02 23:20   ` David Howells
  2019-09-02 23:39     ` Stephen Rothwell
  2019-09-02 23:51     ` David Howells
  1 sibling, 2 replies; 10+ messages in thread
From: David Howells @ 2019-09-02 23:20 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: dhowells, Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> > static inline void post_usb_device_notification(const struct usb_device *udev,
> > 						unsigned int subtype, u32 error) {}
> 
> But not published, yet?

I was hoping to get the smack patch reviewed by Casey first, but I can
publish anyway.

> > > I then discovered that I needed to install libkeyutils-dev :-( but it
> > > built OK after that.  
> > 
> > ?  The kernel shouldn't require that to build.
> 
> I was doing an x86_64 allmodconfig build which seems to build (all of?)
> the samples.

Ah, yes - the sample demonstrates the key/keyring notifications as well as USB
and block notifications and requires a constant from the keyutils-devel
package.  Maybe I should get it from the kernel UAPI headers instead, but that
risks generating a collision.

David

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux-next: build failure after merge of the keys tree
  2019-09-02 23:07   ` Stephen Rothwell
@ 2019-09-02 23:21     ` Stephen Rothwell
  2019-09-02 23:53     ` David Howells
  1 sibling, 0 replies; 10+ messages in thread
From: Stephen Rothwell @ 2019-09-02 23:21 UTC (permalink / raw)
  To: David Howells
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

[-- Attachment #1: Type: text/plain, Size: 514 bytes --]

Hi David,

On Tue, 3 Sep 2019 09:07:22 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> > > I then discovered that I needed to install libkeyutils-dev :-( but it
> > > built OK after that.    
> > 
> > ?  The kernel shouldn't require that to build.  
> 
> I was doing an x86_64 allmodconfig build which seems to build (all of?)
> the samples.

Of course, this breaks our crossbuilds :-(

e.g. S390 allyesconfig build:

/usr/bin/ld: cannot find -lkeyutils

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux-next: build failure after merge of the keys tree
  2019-09-02 23:20   ` David Howells
@ 2019-09-02 23:39     ` Stephen Rothwell
  2019-09-02 23:51     ` David Howells
  1 sibling, 0 replies; 10+ messages in thread
From: Stephen Rothwell @ 2019-09-02 23:39 UTC (permalink / raw)
  To: David Howells
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

[-- Attachment #1: Type: text/plain, Size: 426 bytes --]

Hi David,

On Tue, 03 Sep 2019 00:20:08 +0100 David Howells <dhowells@redhat.com> wrote:
>
> Ah, yes - the sample demonstrates the key/keyring notifications as well as USB
> and block notifications and requires a constant from the keyutils-devel
> package.  Maybe I should get it from the kernel UAPI headers instead, but that
> risks generating a collision.

What sort of collision?
-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux-next: build failure after merge of the keys tree
  2019-09-02 23:20   ` David Howells
  2019-09-02 23:39     ` Stephen Rothwell
@ 2019-09-02 23:51     ` David Howells
  1 sibling, 0 replies; 10+ messages in thread
From: David Howells @ 2019-09-02 23:51 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: dhowells, Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> > Ah, yes - the sample demonstrates the key/keyring notifications as well as
> > USB and block notifications and requires a constant from the
> > keyutils-devel package.  Maybe I should get it from the kernel UAPI
> > headers instead, but that risks generating a collision.
> 
> What sort of collision?

Accidentally including both a userspace header file and a kernel UAPI header
file with the constants colliding.

Anyway, I've pushed a new version of keys-next and also keyutils if you're
employing the testsuite from that at all.

David

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux-next: build failure after merge of the keys tree
  2019-09-02 23:07   ` Stephen Rothwell
  2019-09-02 23:21     ` Stephen Rothwell
@ 2019-09-02 23:53     ` David Howells
  2019-09-03  0:29       ` Stephen Rothwell
  1 sibling, 1 reply; 10+ messages in thread
From: David Howells @ 2019-09-02 23:53 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: dhowells, Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> > I was doing an x86_64 allmodconfig build which seems to build (all of?)
> > the samples.
> 
> Of course, this breaks our crossbuilds :-(
> 
> e.g. S390 allyesconfig build:
> 
> /usr/bin/ld: cannot find -lkeyutils

Is it a requirement that stuff in samples/ should be able to build without
resorting to external userspace headers?  Or, at least, those outside of the C
library?

David

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: linux-next: build failure after merge of the keys tree
  2019-09-02 23:53     ` David Howells
@ 2019-09-03  0:29       ` Stephen Rothwell
  0 siblings, 0 replies; 10+ messages in thread
From: Stephen Rothwell @ 2019-09-03  0:29 UTC (permalink / raw)
  To: David Howells
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Greg Kroah-Hartman, Linux USB Mailing List

[-- Attachment #1: Type: text/plain, Size: 671 bytes --]

Hi David,

On Tue, 03 Sep 2019 00:53:14 +0100 David Howells <dhowells@redhat.com> wrote:
>
> Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> 
> > > I was doing an x86_64 allmodconfig build which seems to build (all of?)
> > > the samples.  
> > 
> > Of course, this breaks our crossbuilds :-(
> > 
> > e.g. S390 allyesconfig build:
> > 
> > /usr/bin/ld: cannot find -lkeyutils  
> 
> Is it a requirement that stuff in samples/ should be able to build without
> resorting to external userspace headers?  Or, at least, those outside of the C
> library?

Well, this is the only samples failure in the current build ...

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-09-03  0:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-29  5:31 linux-next: build failure after merge of the keys tree Stephen Rothwell
2019-09-02  6:19 ` Stephen Rothwell
2019-09-02 16:01 ` David Howells
2019-09-02 23:07   ` Stephen Rothwell
2019-09-02 23:21     ` Stephen Rothwell
2019-09-02 23:53     ` David Howells
2019-09-03  0:29       ` Stephen Rothwell
2019-09-02 23:20   ` David Howells
2019-09-02 23:39     ` Stephen Rothwell
2019-09-02 23:51     ` David Howells

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).