linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI
@ 2021-10-01 11:37 Andy Shevchenko
  2021-10-01 11:37 ` [PATCH v3 2/4] uuid: Make guid_t completely internal type to the kernel Andy Shevchenko
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Andy Shevchenko @ 2021-10-01 11:37 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Tomas Winkler, Alexander Usyskin,
	Uwe Kleine-König, Andy Shevchenko, linux-kernel,
	linux-kbuild
  Cc: Arnd Bergmann, Christoph Hellwig, Masahiro Yamada, Michal Marek,
	Nick Desaulniers

The uuid_le type is used only for MEI ABI, do not advertise it for others.
Due to above, bury add_uuid() in its only user.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v3: no change
 scripts/mod/file2alias.c | 30 +++++++++++++-----------------
 1 file changed, 13 insertions(+), 17 deletions(-)

diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 49aba862073e..c9c9c2328e26 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -34,19 +34,22 @@ typedef Elf64_Addr	kernel_ulong_t;
 typedef uint32_t	__u32;
 typedef uint16_t	__u16;
 typedef unsigned char	__u8;
+
 typedef struct {
 	__u8 b[16];
 } guid_t;
 
-/* backwards compatibility, don't use in new code */
-typedef struct {
-	__u8 b[16];
-} uuid_le;
 typedef struct {
 	__u8 b[16];
 } uuid_t;
+
 #define	UUID_STRING_LEN		36
 
+/* MEI UUID type, don't use anywhere else */
+typedef struct {
+	__u8 b[16];
+} uuid_le;
+
 /* Big exception to the "don't include kernel headers into userspace, which
  * even potentially has different endianness and word sizes, since
  * we handle those differences explicitly below */
@@ -104,17 +107,6 @@ static inline void add_wildcard(char *str)
 		strcat(str + len, "*");
 }
 
-static inline void add_uuid(char *str, uuid_le uuid)
-{
-	int len = strlen(str);
-
-	sprintf(str + len, "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
-		uuid.b[3], uuid.b[2], uuid.b[1], uuid.b[0],
-		uuid.b[5], uuid.b[4], uuid.b[7], uuid.b[6],
-		uuid.b[8], uuid.b[9], uuid.b[10], uuid.b[11],
-		uuid.b[12], uuid.b[13], uuid.b[14], uuid.b[15]);
-}
-
 /**
  * Check that sizeof(device_id type) are consistent with size of section
  * in .o file. If in-consistent then userspace and kernel does not agree
@@ -1211,12 +1203,16 @@ static int do_mei_entry(const char *filename, void *symval,
 			char *alias)
 {
 	DEF_FIELD_ADDR(symval, mei_cl_device_id, name);
-	DEF_FIELD_ADDR(symval, mei_cl_device_id, uuid);
+	DEF_FIELD(symval, mei_cl_device_id, uuid);
 	DEF_FIELD(symval, mei_cl_device_id, version);
 
 	sprintf(alias, MEI_CL_MODULE_PREFIX);
 	sprintf(alias + strlen(alias), "%s:",  (*name)[0]  ? *name : "*");
-	add_uuid(alias, *uuid);
+	sprintf(alias + strlen(alias), "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+		uuid.b[3], uuid.b[2], uuid.b[1], uuid.b[0],
+		uuid.b[5], uuid.b[4], uuid.b[7], uuid.b[6],
+		uuid.b[8], uuid.b[9], uuid.b[10], uuid.b[11],
+		uuid.b[12], uuid.b[13], uuid.b[14], uuid.b[15]);
 	ADD(alias, ":", version != MEI_CL_VERSION_ANY, version);
 
 	strcat(alias, ":*");
-- 
2.33.0


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

* [PATCH v3 2/4] uuid: Make guid_t completely internal type to the kernel
  2021-10-01 11:37 [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI Andy Shevchenko
@ 2021-10-01 11:37 ` Andy Shevchenko
  2021-10-01 12:01   ` Greg Kroah-Hartman
  2021-10-01 11:37 ` [PATCH v3 3/4] mei: Move uuid_le_cmp() to its only user Andy Shevchenko
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Andy Shevchenko @ 2021-10-01 11:37 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Tomas Winkler, Alexander Usyskin,
	Uwe Kleine-König, Andy Shevchenko, linux-kernel,
	linux-kbuild
  Cc: Arnd Bergmann, Christoph Hellwig, Masahiro Yamada, Michal Marek,
	Nick Desaulniers

The guid_t type was defined in UAPI by mistake.
Keep it an internal type and leave uuid_le UAPI
for it's only user, i.e. MEI.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v3: no change
 include/linux/uuid.h      | 20 ++++++++++++++++----
 include/uapi/linux/uuid.h | 14 +++++---------
 2 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/include/linux/uuid.h b/include/linux/uuid.h
index 8cdc0d3567cd..5be158a49e11 100644
--- a/include/linux/uuid.h
+++ b/include/linux/uuid.h
@@ -8,15 +8,25 @@
 #ifndef _LINUX_UUID_H_
 #define _LINUX_UUID_H_
 
-#include <uapi/linux/uuid.h>
 #include <linux/string.h>
 
 #define UUID_SIZE 16
 
+typedef struct {
+	__u8 b[UUID_SIZE];
+} guid_t;
+
 typedef struct {
 	__u8 b[UUID_SIZE];
 } uuid_t;
 
+#define GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)			\
+((guid_t)								\
+{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
+   (b) & 0xff, ((b) >> 8) & 0xff,					\
+   (c) & 0xff, ((c) >> 8) & 0xff,					\
+   (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
+
 #define UUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)			\
 ((uuid_t)								\
 {{ ((a) >> 24) & 0xff, ((a) >> 16) & 0xff, ((a) >> 8) & 0xff, (a) & 0xff, \
@@ -97,10 +107,12 @@ extern const u8 uuid_index[16];
 int guid_parse(const char *uuid, guid_t *u);
 int uuid_parse(const char *uuid, uuid_t *u);
 
-/* backwards compatibility, don't use in new code */
-static inline int uuid_le_cmp(const guid_t u1, const guid_t u2)
+/* MEI UUID type, don't use anywhere else */
+#include <uapi/linux/uuid.h>
+
+static inline int uuid_le_cmp(const uuid_le u1, const uuid_le u2)
 {
-	return memcmp(&u1, &u2, sizeof(guid_t));
+	return memcmp(&u1, &u2, sizeof(uuid_le));
 }
 
 #endif
diff --git a/include/uapi/linux/uuid.h b/include/uapi/linux/uuid.h
index e5a7eecef7c3..c3e175f686f4 100644
--- a/include/uapi/linux/uuid.h
+++ b/include/uapi/linux/uuid.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 /*
- * UUID/GUID definition
+ * MEI UUID definition
  *
  * Copyright (C) 2010, Intel Corp.
  *	Huang Ying <ying.huang@intel.com>
@@ -22,21 +22,17 @@
 
 typedef struct {
 	__u8 b[16];
-} guid_t;
+} uuid_le;
 
-#define GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)			\
-((guid_t)								\
+#define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)		\
+((uuid_le)								\
 {{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
    (b) & 0xff, ((b) >> 8) & 0xff,					\
    (c) & 0xff, ((c) >> 8) & 0xff,					\
    (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
 
-/* backwards compatibility, don't use in new code */
-typedef guid_t uuid_le;
-#define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)		\
-	GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)
 #define NULL_UUID_LE							\
 	UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00,	\
-	     0x00, 0x00, 0x00, 0x00)
+		0x00, 0x00, 0x00, 0x00)
 
 #endif /* _UAPI_LINUX_UUID_H_ */
-- 
2.33.0


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

* [PATCH v3 3/4] mei: Move uuid_le_cmp() to its only user
  2021-10-01 11:37 [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI Andy Shevchenko
  2021-10-01 11:37 ` [PATCH v3 2/4] uuid: Make guid_t completely internal type to the kernel Andy Shevchenko
@ 2021-10-01 11:37 ` Andy Shevchenko
  2021-10-01 11:37 ` [PATCH v3 4/4] mei: Unite uuid.h and mei.h in uAPI Andy Shevchenko
  2021-10-01 11:59 ` [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI Greg Kroah-Hartman
  3 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2021-10-01 11:37 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Tomas Winkler, Alexander Usyskin,
	Uwe Kleine-König, Andy Shevchenko, linux-kernel,
	linux-kbuild
  Cc: Arnd Bergmann, Christoph Hellwig, Masahiro Yamada, Michal Marek,
	Nick Desaulniers

There is only a single user of uuid_le_cmp() API, let's make it private
to that user.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v3: new patch
 drivers/misc/mei/mei_dev.h | 5 +++++
 include/linux/uuid.h       | 5 -----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/misc/mei/mei_dev.h b/drivers/misc/mei/mei_dev.h
index 694f866f87ef..2c1a22b64302 100644
--- a/drivers/misc/mei/mei_dev.h
+++ b/drivers/misc/mei/mei_dev.h
@@ -13,6 +13,11 @@
 #include <linux/mei.h>
 #include <linux/mei_cl_bus.h>
 
+static inline int uuid_le_cmp(const uuid_le u1, const uuid_le u2)
+{
+	return memcmp(&u1, &u2, sizeof(uuid_le));
+}
+
 #include "hw.h"
 #include "hbm.h"
 
diff --git a/include/linux/uuid.h b/include/linux/uuid.h
index 5be158a49e11..6b1a3efa1e0b 100644
--- a/include/linux/uuid.h
+++ b/include/linux/uuid.h
@@ -110,9 +110,4 @@ int uuid_parse(const char *uuid, uuid_t *u);
 /* MEI UUID type, don't use anywhere else */
 #include <uapi/linux/uuid.h>
 
-static inline int uuid_le_cmp(const uuid_le u1, const uuid_le u2)
-{
-	return memcmp(&u1, &u2, sizeof(uuid_le));
-}
-
 #endif
-- 
2.33.0


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

* [PATCH v3 4/4] mei: Unite uuid.h and mei.h in uAPI
  2021-10-01 11:37 [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI Andy Shevchenko
  2021-10-01 11:37 ` [PATCH v3 2/4] uuid: Make guid_t completely internal type to the kernel Andy Shevchenko
  2021-10-01 11:37 ` [PATCH v3 3/4] mei: Move uuid_le_cmp() to its only user Andy Shevchenko
@ 2021-10-01 11:37 ` Andy Shevchenko
  2021-10-01 22:41   ` kernel test robot
  2021-10-01 11:59 ` [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI Greg Kroah-Hartman
  3 siblings, 1 reply; 10+ messages in thread
From: Andy Shevchenko @ 2021-10-01 11:37 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Tomas Winkler, Alexander Usyskin,
	Uwe Kleine-König, Andy Shevchenko, linux-kernel,
	linux-kbuild
  Cc: Arnd Bergmann, Christoph Hellwig, Masahiro Yamada, Michal Marek,
	Nick Desaulniers

There is only a single user of UUID uAPI, let's make it part
of that user.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v3: new patch (Christoph)
 MAINTAINERS                      |  1 -
 drivers/misc/mei/bus-fixup.c     |  1 -
 drivers/misc/mei/hdcp/mei_hdcp.c |  1 -
 drivers/misc/mei/hw.h            |  2 --
 drivers/misc/mei/main.c          |  1 -
 include/linux/mei_cl_bus.h       |  2 +-
 include/linux/mod_devicetable.h  |  1 +
 include/linux/uuid.h             |  3 ---
 include/uapi/linux/mei.h         | 17 +++++++++++++-
 include/uapi/linux/uuid.h        | 38 --------------------------------
 10 files changed, 18 insertions(+), 49 deletions(-)
 delete mode 100644 include/uapi/linux/uuid.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 369a00af62c7..f4c9fa3433d5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -19740,7 +19740,6 @@ L:	linux-kernel@vger.kernel.org
 S:	Maintained
 T:	git git://git.infradead.org/users/hch/uuid.git
 F:	include/linux/uuid.h
-F:	include/uapi/linux/uuid.h
 F:	lib/test_uuid.c
 F:	lib/uuid.c
 
diff --git a/drivers/misc/mei/bus-fixup.c b/drivers/misc/mei/bus-fixup.c
index 67844089db21..03baa616a356 100644
--- a/drivers/misc/mei/bus-fixup.c
+++ b/drivers/misc/mei/bus-fixup.c
@@ -9,7 +9,6 @@
 #include <linux/module.h>
 #include <linux/device.h>
 #include <linux/slab.h>
-#include <linux/uuid.h>
 
 #include <linux/mei_cl_bus.h>
 
diff --git a/drivers/misc/mei/hdcp/mei_hdcp.c b/drivers/misc/mei/hdcp/mei_hdcp.c
index ec2a4fce8581..41e38fab425e 100644
--- a/drivers/misc/mei/hdcp/mei_hdcp.c
+++ b/drivers/misc/mei/hdcp/mei_hdcp.c
@@ -18,7 +18,6 @@
 
 #include <linux/module.h>
 #include <linux/slab.h>
-#include <linux/uuid.h>
 #include <linux/mei_cl_bus.h>
 #include <linux/component.h>
 #include <drm/drm_connector.h>
diff --git a/drivers/misc/mei/hw.h b/drivers/misc/mei/hw.h
index dfd60c916da0..9ad2a9b65506 100644
--- a/drivers/misc/mei/hw.h
+++ b/drivers/misc/mei/hw.h
@@ -7,8 +7,6 @@
 #ifndef _MEI_HW_TYPES_H_
 #define _MEI_HW_TYPES_H_
 
-#include <linux/uuid.h>
-
 /*
  * Timeouts in Seconds
  */
diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c
index 786f7c8f7f61..15d8f7ae2f31 100644
--- a/drivers/misc/mei/main.c
+++ b/drivers/misc/mei/main.c
@@ -18,7 +18,6 @@
 #include <linux/ioctl.h>
 #include <linux/cdev.h>
 #include <linux/sched/signal.h>
-#include <linux/uuid.h>
 #include <linux/compat.h>
 #include <linux/jiffies.h>
 #include <linux/interrupt.h>
diff --git a/include/linux/mei_cl_bus.h b/include/linux/mei_cl_bus.h
index c6786c12b207..521eef218899 100644
--- a/include/linux/mei_cl_bus.h
+++ b/include/linux/mei_cl_bus.h
@@ -6,8 +6,8 @@
 #define _LINUX_MEI_CL_BUS_H
 
 #include <linux/device.h>
-#include <linux/uuid.h>
 #include <linux/mod_devicetable.h>
+#include <uapi/linux/mei.h>
 
 struct mei_cl_device;
 struct mei_device;
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index ae2e75d15b21..24e60693c44f 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -11,6 +11,7 @@
 #ifdef __KERNEL__
 #include <linux/types.h>
 #include <linux/uuid.h>
+#include <uapi/linux/mei.h>
 typedef unsigned long kernel_ulong_t;
 #endif
 
diff --git a/include/linux/uuid.h b/include/linux/uuid.h
index 6b1a3efa1e0b..43d4a79b273d 100644
--- a/include/linux/uuid.h
+++ b/include/linux/uuid.h
@@ -107,7 +107,4 @@ extern const u8 uuid_index[16];
 int guid_parse(const char *uuid, guid_t *u);
 int uuid_parse(const char *uuid, uuid_t *u);
 
-/* MEI UUID type, don't use anywhere else */
-#include <uapi/linux/uuid.h>
-
 #endif
diff --git a/include/uapi/linux/mei.h b/include/uapi/linux/mei.h
index 4f3638489d01..38dded45e8c9 100644
--- a/include/uapi/linux/mei.h
+++ b/include/uapi/linux/mei.h
@@ -7,7 +7,22 @@
 #ifndef _LINUX_MEI_H
 #define _LINUX_MEI_H
 
-#include <linux/uuid.h>
+#include <linux/types.h>
+
+typedef struct {
+	__u8 b[16];
+} uuid_le;
+
+#define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)		\
+((uuid_le)								\
+{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
+   (b) & 0xff, ((b) >> 8) & 0xff,					\
+   (c) & 0xff, ((c) >> 8) & 0xff,					\
+   (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
+
+#define NULL_UUID_LE							\
+	UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00,	\
+		0x00, 0x00, 0x00, 0x00)
 
 /*
  * This IOCTL is used to associate the current file descriptor with a
diff --git a/include/uapi/linux/uuid.h b/include/uapi/linux/uuid.h
deleted file mode 100644
index c3e175f686f4..000000000000
--- a/include/uapi/linux/uuid.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * MEI UUID definition
- *
- * Copyright (C) 2010, Intel Corp.
- *	Huang Ying <ying.huang@intel.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License version
- * 2 as published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#ifndef _UAPI_LINUX_UUID_H_
-#define _UAPI_LINUX_UUID_H_
-
-#include <linux/types.h>
-
-typedef struct {
-	__u8 b[16];
-} uuid_le;
-
-#define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)		\
-((uuid_le)								\
-{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
-   (b) & 0xff, ((b) >> 8) & 0xff,					\
-   (c) & 0xff, ((c) >> 8) & 0xff,					\
-   (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
-
-#define NULL_UUID_LE							\
-	UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00,	\
-		0x00, 0x00, 0x00, 0x00)
-
-#endif /* _UAPI_LINUX_UUID_H_ */
-- 
2.33.0


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

* Re: [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI
  2021-10-01 11:37 [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI Andy Shevchenko
                   ` (2 preceding siblings ...)
  2021-10-01 11:37 ` [PATCH v3 4/4] mei: Unite uuid.h and mei.h in uAPI Andy Shevchenko
@ 2021-10-01 11:59 ` Greg Kroah-Hartman
  2021-10-01 12:12   ` Andy Shevchenko
  3 siblings, 1 reply; 10+ messages in thread
From: Greg Kroah-Hartman @ 2021-10-01 11:59 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Tomas Winkler, Alexander Usyskin, Uwe Kleine-König,
	linux-kernel, linux-kbuild, Arnd Bergmann, Christoph Hellwig,
	Masahiro Yamada, Michal Marek, Nick Desaulniers

On Fri, Oct 01, 2021 at 02:37:44PM +0300, Andy Shevchenko wrote:
> The uuid_le type is used only for MEI ABI, do not advertise it for others.
> Due to above, bury add_uuid() in its only user.

Why not just remove it from the user and move to using guid_t instead?

And then remove this code entirely?

thanks,

greg k-h

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

* Re: [PATCH v3 2/4] uuid: Make guid_t completely internal type to the kernel
  2021-10-01 11:37 ` [PATCH v3 2/4] uuid: Make guid_t completely internal type to the kernel Andy Shevchenko
@ 2021-10-01 12:01   ` Greg Kroah-Hartman
  2021-10-01 13:15     ` Andy Shevchenko
  0 siblings, 1 reply; 10+ messages in thread
From: Greg Kroah-Hartman @ 2021-10-01 12:01 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Tomas Winkler, Alexander Usyskin, Uwe Kleine-König,
	linux-kernel, linux-kbuild, Arnd Bergmann, Christoph Hellwig,
	Masahiro Yamada, Michal Marek, Nick Desaulniers

On Fri, Oct 01, 2021 at 02:37:45PM +0300, Andy Shevchenko wrote:
> The guid_t type was defined in UAPI by mistake.
> Keep it an internal type and leave uuid_le UAPI
> for it's only user, i.e. MEI.

It's used in they hyper-v drivers as a uapi between the kernel and the
hypervisor, so isn't that something valid here?

As I didn't see a 0/4 for this series, I'm confused as to your end-goal
here.  What are you trying to do with this series?

thanks,

greg k-h

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

* Re: [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI
  2021-10-01 11:59 ` [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI Greg Kroah-Hartman
@ 2021-10-01 12:12   ` Andy Shevchenko
  0 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2021-10-01 12:12 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Tomas Winkler, Alexander Usyskin, Uwe Kleine-König,
	linux-kernel, linux-kbuild, Arnd Bergmann, Christoph Hellwig,
	Masahiro Yamada, Michal Marek, Nick Desaulniers

On Fri, Oct 01, 2021 at 01:59:45PM +0200, Greg Kroah-Hartman wrote:
> On Fri, Oct 01, 2021 at 02:37:44PM +0300, Andy Shevchenko wrote:
> > The uuid_le type is used only for MEI ABI, do not advertise it for others.
> > Due to above, bury add_uuid() in its only user.
> 
> Why not just remove it from the user and move to using guid_t instead?
> 
> And then remove this code entirely?

The idea is to decouple ABI available type (uuid_le) from kernel internal one
(guid_t).


-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v3 2/4] uuid: Make guid_t completely internal type to the kernel
  2021-10-01 12:01   ` Greg Kroah-Hartman
@ 2021-10-01 13:15     ` Andy Shevchenko
  2021-10-01 13:20       ` Andy Shevchenko
  0 siblings, 1 reply; 10+ messages in thread
From: Andy Shevchenko @ 2021-10-01 13:15 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Tomas Winkler, Alexander Usyskin, Uwe Kleine-König,
	linux-kernel, linux-kbuild, Arnd Bergmann, Christoph Hellwig,
	Masahiro Yamada, Michal Marek, Nick Desaulniers

On Fri, Oct 01, 2021 at 02:01:15PM +0200, Greg Kroah-Hartman wrote:
> On Fri, Oct 01, 2021 at 02:37:45PM +0300, Andy Shevchenko wrote:
> > The guid_t type was defined in UAPI by mistake.
> > Keep it an internal type and leave uuid_le UAPI
> > for it's only user, i.e. MEI.
> 
> It's used in they hyper-v drivers as a uapi between the kernel and the
> hypervisor, so isn't that something valid here?

I'm not sure I see that interface defined in the kernel. As far as I remember
the guid_t is used solely inside kernel by Hyper-V code and the rest is using
raw buffers. Can you point out to the specific place(s)?

> As I didn't see a 0/4 for this series, I'm confused as to your end-goal
> here.  What are you trying to do with this series?

End goal is to decouple internal type, which is guid_t, from ABI, where should
be something else in use, like __u8[16] or so.

We have two internal types, i.e. uuid_t and guid_t that are differs by byte
ordering (when represented as human-readable string). uuid_t is provided by
libuuid in the user space and its definition may be quite different to what we
have inside kernel. Kernel already hide that one. guid_t is a leftover.

I will create a cover letter for next version.

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v3 2/4] uuid: Make guid_t completely internal type to the kernel
  2021-10-01 13:15     ` Andy Shevchenko
@ 2021-10-01 13:20       ` Andy Shevchenko
  0 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2021-10-01 13:20 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Tomas Winkler, Alexander Usyskin, Uwe Kleine-König,
	linux-kernel, linux-kbuild, Arnd Bergmann, Christoph Hellwig,
	Masahiro Yamada, Michal Marek, Nick Desaulniers

On Fri, Oct 01, 2021 at 04:15:44PM +0300, Andy Shevchenko wrote:
> On Fri, Oct 01, 2021 at 02:01:15PM +0200, Greg Kroah-Hartman wrote:
> > On Fri, Oct 01, 2021 at 02:37:45PM +0300, Andy Shevchenko wrote:
> > > The guid_t type was defined in UAPI by mistake.
> > > Keep it an internal type and leave uuid_le UAPI
> > > for it's only user, i.e. MEI.
> > 
> > It's used in they hyper-v drivers as a uapi between the kernel and the
> > hypervisor, so isn't that something valid here?
> 
> I'm not sure I see that interface defined in the kernel. As far as I remember
> the guid_t is used solely inside kernel by Hyper-V code and the rest is using
> raw buffers. Can you point out to the specific place(s)?

Ah, it's a leftover inclusion in the uapi! Thanks for noticing.
I will add a patch to replace it.

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH v3 4/4] mei: Unite uuid.h and mei.h in uAPI
  2021-10-01 11:37 ` [PATCH v3 4/4] mei: Unite uuid.h and mei.h in uAPI Andy Shevchenko
@ 2021-10-01 22:41   ` kernel test robot
  0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2021-10-01 22:41 UTC (permalink / raw)
  To: Andy Shevchenko, Greg Kroah-Hartman, Tomas Winkler,
	Alexander Usyskin, Uwe Kleine-König, linux-kernel,
	linux-kbuild
  Cc: kbuild-all, Arnd Bergmann, Christoph Hellwig, Masahiro Yamada

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

Hi Andy,

I love your patch! Yet something to improve:

[auto build test ERROR on char-misc/char-misc-testing]
[also build test ERROR on linux/master linus/master v5.15-rc3 next-20210921]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Andy-Shevchenko/modpost-Mark-uuid_le-type-only-for-MEI/20211001-194030
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 20ac422c8ef753ae0da0c9312443b03c37cfbb5b
config: i386-randconfig-a001-20211001 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/641dc880fa6550a2d55d13fd63d6c8e0bb6723c9
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Andy-Shevchenko/modpost-Mark-uuid_le-type-only-for-MEI/20211001-194030
        git checkout 641dc880fa6550a2d55d13fd63d6c8e0bb6723c9
        # save the attached .config to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> usr/include/linux/acrn.h:15: included file 'linux/uuid.h' is not exported

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 36604 bytes --]

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

end of thread, other threads:[~2021-10-01 22:41 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-01 11:37 [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI Andy Shevchenko
2021-10-01 11:37 ` [PATCH v3 2/4] uuid: Make guid_t completely internal type to the kernel Andy Shevchenko
2021-10-01 12:01   ` Greg Kroah-Hartman
2021-10-01 13:15     ` Andy Shevchenko
2021-10-01 13:20       ` Andy Shevchenko
2021-10-01 11:37 ` [PATCH v3 3/4] mei: Move uuid_le_cmp() to its only user Andy Shevchenko
2021-10-01 11:37 ` [PATCH v3 4/4] mei: Unite uuid.h and mei.h in uAPI Andy Shevchenko
2021-10-01 22:41   ` kernel test robot
2021-10-01 11:59 ` [PATCH v3 1/4] modpost: Mark uuid_le type only for MEI Greg Kroah-Hartman
2021-10-01 12:12   ` Andy Shevchenko

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).