From: Arnd Bergmann <arnd@kernel.org>
To: Kent Overstreet <kmo@daterainc.com>
Cc: Arnd Bergmann <arnd@arndb.de>, Jens Axboe <axboe@kernel.dk>,
Coly Li <colyli@suse.de>,
linux-kernel@vger.kernel.org
Subject: [PATCH] [RFC] bcache: hide variable-sized types from uapi headers
Date: Mon, 27 Sep 2021 14:43:24 +0200 [thread overview]
Message-ID: <20210927124331.1487876-1-arnd@kernel.org> (raw)
From: Arnd Bergmann <arnd@arndb.de>
The headers_check helper complains about a GNU extension in
one of the exported headers:
linux/bcache.h:354:2: warning: field '' with variable sized type 'union jset::(anonymous at ./usr/include/linux/bcache.h:354:2)' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]
BKEY_PADDED(uuid_bucket);
^
linux/bcache.h:134:2: note: expanded from macro 'BKEY_PADDED'
union { struct bkey key; __u64 key ## _pad[BKEY_PAD]; }
^
We could either try to shut up the warning or remove those parts from
the user-visible section of this header. This does the second,
under the assumption that they are not actually used.
Fixes: 81ab4190ac17 ("bcache: Pull on disk data structures out into a separate header")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
Coli, Kent: can you check to see if the hidden parts are used anywhere
from user space, and apply the patch if not?
Any other ideas for addressing this warning?
---
include/uapi/linux/bcache.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/uapi/linux/bcache.h b/include/uapi/linux/bcache.h
index cf7399f03b71..e3e4889aa53e 100644
--- a/include/uapi/linux/bcache.h
+++ b/include/uapi/linux/bcache.h
@@ -23,9 +23,13 @@ static inline void SET_##name(type *k, __u64 v) \
struct bkey {
__u64 high;
__u64 low;
+#ifdef __KERNEL__
+ /* gcc extension not meant for user space */
__u64 ptr[];
+#endif
};
+#ifdef __KERNEL__
#define KEY_FIELD(name, field, offset, size) \
BITMASK(name, struct bkey, field, offset, size)
@@ -127,6 +131,8 @@ static inline struct bkey *bkey_idx(const struct bkey *k, unsigned int nr_keys)
return (struct bkey *) (d + nr_keys);
}
+#endif
+
/* Enough for a key with 6 pointers */
#define BKEY_PAD 8
--
2.29.2
next reply other threads:[~2021-09-27 12:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-27 12:43 Arnd Bergmann [this message]
2021-09-27 15:22 ` [PATCH] [RFC] bcache: hide variable-sized types from uapi headers Coly Li
2021-09-27 15:43 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210927124331.1487876-1-arnd@kernel.org \
--to=arnd@kernel.org \
--cc=arnd@arndb.de \
--cc=axboe@kernel.dk \
--cc=colyli@suse.de \
--cc=kmo@daterainc.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.