Re: [Patch v4 2/3] Drivers: hv: add Azure Blob driver

From: Jiri Slaby
Date: Wed Jul 21 2021 - 00:57:53 EST


On 21. 07. 21, 0:12, Long Li wrote:
Subject: Re: [Patch v4 2/3] Drivers: hv: add Azure Blob driver

On 20. 07. 21, 5:31, longli@xxxxxxxxxxxxxxxxx wrote:
--- /dev/null
+++ b/include/uapi/misc/hv_azure_blob.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
+/* Copyright (c) 2021 Microsoft Corporation. */
+
+#ifndef _AZ_BLOB_H
+#define _AZ_BLOB_H
+
+#include <linux/kernel.h>
+#include <linux/uuid.h>

Quoting from
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.
kernel.org%2Flinux-
doc%2FMWHPR21MB159375586D810EC5DCB66AF0D7039%40MWHPR21MB1
593.namprd21.prod.outlook.com%2F&amp;data=04%7C01%7Clongli%40micr
osoft.com%7C7fdf2d6ed15d4d4122a308d94b6eeed0%7C72f988bf86f141af91
ab2d7cd011db47%7C1%7C0%7C637623762292949381%7CUnknown%7CTWFp
bGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVC
I6Mn0%3D%7C3000&amp;sdata=kv0ZkU1QL6TxlJJZEQEsT7aqLFL9lmP2SStz8k
U5sIs%3D&amp;reserved=0:
=====
Seems like a #include of asm/ioctl.h (or something similar) is needed so that
_IOWR is defined. Also, a #include is needed for __u32, __aligned_u64,
guid_t, etc.
=====

The user-space code includes "sys/ioctl.h" for calling into ioctl(). "sys/ioctl.h"
includes <linux/ioctl.h>, so it has no problem finding _IOWR.

guid_t is defined in <uapi/linux/uuid.h>, included from <linux/uuid.h> (in this file)
__u32 and __aligned_u64 are defined in <uapi/linux/types.>, which is included from <linux/kernel.h> (in this file)

No, please don't rely on implicit include chains. Nor that userspace solves the includes for you.

thanks,
--
js
suse labs