On Fri 16-12-22 21:02:12, Eric Biggers wrote: > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > To avoid 'sparse' warnings about missing endianness conversions, don't > store native endianness values into struct ext4_fc_tl. Instead, use a > separate struct type, ext4_fc_tl_mem. > > Fixes: dcc5827484d6 ("ext4: factor out ext4_fc_get_tl()") > Cc: Ye Bin <yebin10@xxxxxxxxxx> > Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> Looks good to me. Just one nit below: > -static inline void ext4_fc_get_tl(struct ext4_fc_tl *tl, u8 *val) > +static inline void ext4_fc_get_tl(struct ext4_fc_tl_mem *tl, u8 *val) > { > - memcpy(tl, val, EXT4_FC_TAG_BASE_LEN); > - tl->fc_len = le16_to_cpu(tl->fc_len); > - tl->fc_tag = le16_to_cpu(tl->fc_tag); > + struct ext4_fc_tl tl_disk; > + > + memcpy(&tl_disk, val, EXT4_FC_TAG_BASE_LEN); > + tl->fc_len = le16_to_cpu(tl_disk.fc_len); > + tl->fc_tag = le16_to_cpu(tl_disk.fc_tag); > } So why not just: struct ext4_fc_tl *tl_disk = (struct ext4_fc_tl *)val; instead of memcpy? Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR