Commit e2b54210 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'flexible-array-transformations-UAPI-6.0-rc1' of...

Merge tag 'flexible-array-transformations-UAPI-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux

Pull uapi flexible array update from Gustavo Silva:
 "A treewide patch that replaces zero-length arrays with flexible-array
  members in UAPI. This has been baking in linux-next for 5 weeks now.

  '-fstrict-flex-arrays=3' is coming and we need to land these changes
  to prevent issues like these in the short future:

    fs/minix/dir.c:337:3: warning: 'strcpy' will always overflow; destination buffer has size 0, but the source string has length 2 (including NUL byte) [-Wfortify-source]
		strcpy(de3->name, ".");
		^

  Since these are all [0] to [] changes, the risk to UAPI is nearly
  zero. If this breaks anything, we can use a union with a new member
  name"

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101836

* tag 'flexible-array-transformations-UAPI-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
  treewide: uapi: Replace zero-length arrays with flexible-array members
parents e05d5b9c 94dfc73e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@
struct bi_record {
	__be16 tag;			/* tag ID */
	__be16 size;			/* size of record (in bytes) */
	__be32 data[0];			/* data */
	__be32 data[];			/* data */
};


@@ -168,7 +168,7 @@ struct bootversion {
	struct {
		__be32 machtype;
		__be32 version;
	} machversions[0];
	} machversions[];
} __packed;

#endif /* __ASSEMBLY__ */
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ struct ucontext {
	sigset_t		uc_sigmask;

	/* Extended context structures may follow ucontext */
	unsigned long long	uc_extcontext[0];
	unsigned long long	uc_extcontext[];
};

#endif /* __MIPS_UAPI_ASM_UCONTEXT_H */
+3 −3
Original line number Diff line number Diff line
@@ -30,18 +30,18 @@ struct s390_ctrset_start { /* Set CPUs to operate on */
struct s390_ctrset_setdata {		/* Counter set data */
	__u32 set;			/* Counter set number */
	__u32 no_cnts;			/* # of counters stored in cv[] */
	__u64 cv[0];			/* Counter values (variable length) */
	__u64 cv[];			/* Counter values (variable length) */
};

struct s390_ctrset_cpudata {		/* Counter set data per CPU */
	__u32 cpu_nr;			/* CPU number */
	__u32 no_sets;			/* # of counters sets in data[] */
	struct s390_ctrset_setdata data[0];
	struct s390_ctrset_setdata data[];
};

struct s390_ctrset_read {		/* Structure to get all ctr sets */
	__u64 no_cpus;			/* Total # of CPUs data taken from */
	struct s390_ctrset_cpudata data[0];
	struct s390_ctrset_cpudata data[];
};

#define S390_HWCTR_MAGIC	'C'	/* Random magic # for ioctls */
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ struct setup_data {
	__u64 next;
	__u32 type;
	__u32 len;
	__u8 data[0];
	__u8 data[];
};

/* extensible setup indirect data node */
+6 −6
Original line number Diff line number Diff line
@@ -198,13 +198,13 @@ struct kvm_msrs {
	__u32 nmsrs; /* number of msrs in entries */
	__u32 pad;

	struct kvm_msr_entry entries[0];
	struct kvm_msr_entry entries[];
};

/* for KVM_GET_MSR_INDEX_LIST */
struct kvm_msr_list {
	__u32 nmsrs; /* number of msrs in entries */
	__u32 indices[0];
	__u32 indices[];
};

/* Maximum size of any access bitmap in bytes */
@@ -241,7 +241,7 @@ struct kvm_cpuid_entry {
struct kvm_cpuid {
	__u32 nent;
	__u32 padding;
	struct kvm_cpuid_entry entries[0];
	struct kvm_cpuid_entry entries[];
};

struct kvm_cpuid_entry2 {
@@ -263,7 +263,7 @@ struct kvm_cpuid_entry2 {
struct kvm_cpuid2 {
	__u32 nent;
	__u32 padding;
	struct kvm_cpuid_entry2 entries[0];
	struct kvm_cpuid_entry2 entries[];
};

/* for KVM_GET_PIT and KVM_SET_PIT */
@@ -389,7 +389,7 @@ struct kvm_xsave {
	 * the contents of CPUID leaf 0xD on the host.
	 */
	__u32 region[1024];
	__u32 extra[0];
	__u32 extra[];
};

#define KVM_MAX_XCRS	16
@@ -516,7 +516,7 @@ struct kvm_pmu_event_filter {
	__u32 fixed_counter_bitmap;
	__u32 flags;
	__u32 pad[4];
	__u64 events[0];
	__u64 events[];
};

#define KVM_PMU_EVENT_ALLOW 0
Loading