Skip to contentSkip to conversation

uapi: includes linux/types.h before exporting files

PATCH In review Rolf Eike Beer 2 participants 3 messages Jul 30, 2020 – Aug 2, 2020 Stable branch

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 uapi: includes linux/types.h before exporting files

From: Nicolas Dichtel <[email protected]>
Date: Mon, 27 Mar 2017 14:20:11 +0200

commit 9078b4eea119c13d633d45af0397c821a517b522 upstream

Some files will be exported after a following patch. 0-day tests report the following warning/error:
./usr/include/linux/bcache.h:8: include of <linux/types.h> is preferred over <asm/types.h> ./usr/include/linux/bcache.h:11: found __[us]{8,16,32,64} type without #include <linux/types.h> ./usr/include/linux/qrtr.h:8: found __[us]{8,16,32,64} type without #include <linux/types.h> ./usr/include/linux/cryptouser.h:39: found __[us]{8,16,32,64} type without #include <linux/types.h> ./usr/include/linux/pr.h:14: found __[us]{8,16,32,64} type without #include <linux/types.h> ./usr/include/linux/btrfs_tree.h:337: found __[us]{8,16,32,64} type without #include <linux/types.h> ./usr/include/rdma/bnxt_re-abi.h:45: found __[us]{8,16,32,64} type without #include <linux/types.h>

reb: left out include/uapi/rdma/bnxt_re-abi.h as it's not in this kernel version

---
 include/uapi/linux/bcache.h     | 2 +-
 include/uapi/linux/btrfs_tree.h | 2 ++
 include/uapi/linux/cryptouser.h | 2 ++
 include/uapi/linux/pr.h         | 2 ++
 include/uapi/linux/qrtr.h       | 1 +
 5 files changed, 8 insertions(+), 1 deletion(-)
include/uapi/linux/bcache.h +1 -1
index 8562b1cb776b..3b92610502ca 100644
@@ -5,7 +5,7 @@
  * Bcache on disk data structures
  */
 
-#include <asm/types.h>
+#include <linux/types.h>
 
 #define BITMASK(name, type, field, offset, size)		\
 static inline __u64 name(const type *k)				\
include/uapi/linux/btrfs_tree.h +2 -0
index a1ded2a1bf1d..2abf660e9f65 100644
@@ -1,6 +1,8 @@
 #ifndef _BTRFS_CTREE_H_
 #define _BTRFS_CTREE_H_
 
+#include <linux/types.h>
+
 /*
  * This header contains the structure definitions and constants used
  * by file system objects that can be retrieved using
include/uapi/linux/cryptouser.h +2 -0
index 79b5ded2001a..3d0aa2bc69f3 100644
@@ -18,6 +18,8 @@
  * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
+#include <linux/types.h>
+
 /* Netlink configuration messages.  */
 enum {
 	CRYPTO_MSG_BASE = 0x10,
include/uapi/linux/pr.h +2 -0
index 57d7c0f916b6..645ef3cf3dd0 100644
@@ -1,6 +1,8 @@
 #ifndef _UAPI_PR_H
 #define _UAPI_PR_H
 
+#include <linux/types.h>
+
 enum pr_type {
 	PR_WRITE_EXCLUSIVE		= 1,
 	PR_EXCLUSIVE_ACCESS		= 2,
include/uapi/linux/qrtr.h +1 -0
index 66c0748d26e2..9d76c566f66e 100644
@@ -2,6 +2,7 @@
 #define _LINUX_QRTR_H
 
 #include <linux/socket.h>
+#include <linux/types.h>
 
 struct sockaddr_qrtr {
 	__kernel_sa_family_t sq_family;
Signature · 11 lines
2.27.0


-- 
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source
#1 lore raw

PATCH 2/2 install several missing uapi headers

Commit fcc8487d477a3452a1d0ccbdd4c5e0e1e3cb8bed ("uapi: export all headers under uapi directories") changed the default to install all headers not marked to be conditional. This takes the list of headers listed in the commit message and manually adds an export for those that are already present in this kernel version.

Found during an attempt to build mtd-utils 2.1.2 as it wants hash_info.h, which exists since 3.13 but has not been installed until the above mentioned commit, which ended up in 4.12.

---
 arch/mips/include/uapi/asm/Kbuild    |  3 +++
 arch/powerpc/include/uapi/asm/Kbuild |  1 +
 include/uapi/drm/Kbuild              |  3 +++
 include/uapi/linux/Kbuild            | 20 ++++++++++++++++++++
 include/uapi/linux/cifs/Kbuild       |  2 ++
 include/uapi/linux/genwqe/Kbuild     |  2 ++
 6 files changed, 31 insertions(+)
 create mode 100644 include/uapi/linux/cifs/Kbuild
 create mode 100644 include/uapi/linux/genwqe/Kbuild
arch/mips/include/uapi/asm/Kbuild +3 -0
index f2cf41461146..6298280cb2fe 100644
@@ -39,3 +39,6 @@ header-y += termbits.h
 header-y += termios.h
 header-y += types.h
 header-y += unistd.h
+header-y += hwcap.h
+header-y += reg.h
+header-y += ucontext.h
arch/powerpc/include/uapi/asm/Kbuild +1 -0
index dab3717e3ea0..95cff4782218 100644
@@ -45,3 +45,4 @@ header-y += tm.h
 header-y += types.h
 header-y += ucontext.h
 header-y += unistd.h
+header-y += perf_regs.h
include/uapi/drm/Kbuild +3 -0
index 9355dd8eff3b..489b093580dd 100644
@@ -20,3 +20,6 @@ header-y += vmwgfx_drm.h
 header-y += msm_drm.h
 header-y += vc4_drm.h
 header-y += virtgpu_drm.h
+header-y += armada_drm.h
+header-y += etnaviv_drm.h
+header-y += vgem_drm.h
include/uapi/linux/Kbuild +20 -0
index cd2be1c8e9fb..39bf68b36332 100644
@@ -475,3 +475,23 @@ header-y += xilinx-v4l2-controls.h
 header-y += zorro.h
 header-y += zorro_ids.h
 header-y += userfaultfd.h
+header-y += auto_dev-ioctl.h
+header-y += bcache.h
+header-y += btrfs_tree.h
+header-y += coresight-stm.h
+header-y += cryptouser.h
+header-y += hash_info.h
+header-y += kcm.h
+header-y += kcov.h
+header-y += kfd_ioctl.h
+header-y += lightnvm.h
+header-y += module.h
+header-y += nilfs2_api.h
+header-y += nilfs2_ondisk.h
+header-y += nsfs.h
+header-y += pr.h
+header-y += qrtr.h
+header-y += stm.h
+header-y += wil6210_uapi.h
+header-y += cifs/
+header-y += genwqe/
include/uapi/linux/cifs/Kbuild new file +1 -0
new file mode 100644
index 000000000000..6a4a65811cd5
@@ -0,0 +1,1 @@
+header-y += cifs_mount.h
include/uapi/linux/genwqe/Kbuild new file +1 -0
new file mode 100644
index 000000000000..b1e3eb6a4fe9
@@ -0,0 +1,1 @@
+header-y += genwqe_card.h
Signature · 10 lines
2.27.0

-- 
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source
maintainer
#2 lore raw

Re: [PATCH 4.9.y 2/2] install several missing uapi headers

Quoted 11 lines · Rolf Eike Beer

Commit fcc8487d477a3452a1d0ccbdd4c5e0e1e3cb8bed ("uapi: export all headers under uapi directories") changed the default to install all headers not marked to be conditional. This takes the list of headers listed in the commit message and manually adds an export for those that are already present in this kernel version.

Found during an attempt to build mtd-utils 2.1.2 as it wants hash_info.h, which exists since 3.13 but has not been installed until the above mentioned commit, which ended up in 4.12.

Quoted 10 lines
---
 arch/mips/include/uapi/asm/Kbuild    |  3 +++
 arch/powerpc/include/uapi/asm/Kbuild |  1 +
 include/uapi/drm/Kbuild              |  3 +++
 include/uapi/linux/Kbuild            | 20 ++++++++++++++++++++
 include/uapi/linux/cifs/Kbuild       |  2 ++
 include/uapi/linux/genwqe/Kbuild     |  2 ++
 6 files changed, 31 insertions(+)
 create mode 100644 include/uapi/linux/cifs/Kbuild
 create mode 100644 include/uapi/linux/genwqe/Kbuild

I doubt many people are hitting this old issue on 4.9, but oh well, it looks correct, so now queued up :)

greg k-h