# \[PATCH 04/11\] UAPI: bcache: Fix use of embedded flexible array

- From: David Howells \<dhowells@redhat.com\>
- Date: 2018-09-05 15:55:07 
- List: linux-api
- Page: https://ratatoskr.run/linux-api/2018/09/5372671
- Thread: https://ratatoskr.run/linux-api/2018/09/143175/t.md

```text
The bkey struct defined by bcache is embedded in the jset struct.  However,
this is illegal in C++ as there's a "flexible array" at the end of the
struct.  Change this to be a 0-length struct instead.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Coly Li <redacted>
cc: Kent Overstreet <redacted>
cc: <redacted>
---

 include/uapi/linux/bcache.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/linux/bcache.h b/include/uapi/linux/bcache.h
index 5d4f58e059fd..11863e903bff 100644
--- a/include/uapi/linux/bcache.h
+++ b/include/uapi/linux/bcache.h
@@ -23,7 +23,7 @@ static inline void SET_##name(type *k, __u64 v)			\
 struct bkey {
 	__u64	high;
 	__u64	low;
-	__u64	ptr[];
+	__u64	ptr[0];
 };
 
 #define KEY_FIELD(name, field, offset, size)				\
```
