Commit 9d6b14cd authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'flex-array-transformations-6.6-rc1' of...

Merge tag 'flex-array-transformations-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux

Pull flexible-array updates from Gustavo A. R. Silva.

* tag 'flex-array-transformations-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux:
  fs: omfs: Use flexible-array member in struct omfs_extent
  sparc: openpromio: Address -Warray-bounds warning
  reiserfs: Replace one-element array with flexible-array member
parents eaf9f464 4d8cbf6d
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -10,10 +10,9 @@
 * were chosen to be exactly equal to the SunOS equivalents.
 */

struct openpromio
{
struct openpromio {
	unsigned int oprom_size;	/* Actual size of the oprom_array. */
	char	oprom_array[1];		/* Holds property names and values. */
	char	oprom_array[];		/* Holds property names and values. */
};

#define	OPROMMAXPARAM	4096		/* Maximum size of oprom_array. */
+6 −6
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ static u32 omfs_max_extents(struct omfs_sb_info *sbi, int offset)
{
	return (sbi->s_sys_blocksize - offset -
		sizeof(struct omfs_extent)) /
		sizeof(struct omfs_extent_entry) + 1;
		sizeof(struct omfs_extent_entry);
}

void omfs_make_empty_table(struct buffer_head *bh, int offset)
@@ -24,8 +24,8 @@ void omfs_make_empty_table(struct buffer_head *bh, int offset)
	oe->e_next = ~cpu_to_be64(0ULL);
	oe->e_extent_count = cpu_to_be32(1),
	oe->e_fill = cpu_to_be32(0x22),
	oe->e_entry.e_cluster = ~cpu_to_be64(0ULL);
	oe->e_entry.e_blocks = ~cpu_to_be64(0ULL);
	oe->e_entry[0].e_cluster = ~cpu_to_be64(0ULL);
	oe->e_entry[0].e_blocks = ~cpu_to_be64(0ULL);
}

int omfs_shrink_inode(struct inode *inode)
@@ -68,7 +68,7 @@ int omfs_shrink_inode(struct inode *inode)

		last = next;
		next = be64_to_cpu(oe->e_next);
		entry = &oe->e_entry;
		entry = oe->e_entry;

		/* ignore last entry as it is the terminator */
		for (; extent_count > 1; extent_count--) {
@@ -117,7 +117,7 @@ static int omfs_grow_extent(struct inode *inode, struct omfs_extent *oe,
			u64 *ret_block)
{
	struct omfs_extent_entry *terminator;
	struct omfs_extent_entry *entry = &oe->e_entry;
	struct omfs_extent_entry *entry = oe->e_entry;
	struct omfs_sb_info *sbi = OMFS_SB(inode->i_sb);
	u32 extent_count = be32_to_cpu(oe->e_extent_count);
	u64 new_block = 0;
@@ -245,7 +245,7 @@ static int omfs_get_block(struct inode *inode, sector_t block,

		extent_count = be32_to_cpu(oe->e_extent_count);
		next = be64_to_cpu(oe->e_next);
		entry = &oe->e_entry;
		entry = oe->e_entry;

		if (extent_count > max_extents)
			goto out_brelse;
+1 −1
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ struct omfs_extent {
	__be64 e_next;			/* next extent table location */
	__be32 e_extent_count;		/* total # extents in this table */
	__be32 e_fill;
	struct omfs_extent_entry e_entry;	/* start of extent entries */
	struct omfs_extent_entry e_entry[];	/* start of extent entries */
};

#endif
+3 −2
Original line number Diff line number Diff line
@@ -2252,8 +2252,9 @@ static int get_virtual_node_size(struct super_block *sb, struct buffer_head *bh)

	return sizeof(struct virtual_node) +
	    max(max_num_of_items * sizeof(struct virtual_item),
		sizeof(struct virtual_item) + sizeof(struct direntry_uarea) +
		(max_num_of_entries - 1) * sizeof(__u16));
		sizeof(struct virtual_item) +
		struct_size_t(struct direntry_uarea, entry_sizes,
			      max_num_of_entries));
}

/*
+1 −1
Original line number Diff line number Diff line
@@ -2373,7 +2373,7 @@ struct virtual_node {
struct direntry_uarea {
	int flags;
	__u16 entry_count;
	__u16 entry_sizes[1];
	__u16 entry_sizes[];
} __attribute__ ((__packed__));

/***************************************************************************