]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bcachefs: Use cpu_to_le16 for dirent lengths
authorGabriel Shahrouzi <gshahrouzi@gmail.com>
Fri, 4 Apr 2025 01:28:22 +0000 (21:28 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 6 Apr 2025 23:13:43 +0000 (19:13 -0400)
Prevent incorrect byte ordering for big-endian systems.

Signed-off-by: Gabriel Shahrouzi <gshahrouzi@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/dirent.c

index bf53a029f3562c18507a08ffa98448d092ca17cb..8488a7578115140b4c7c39760d29001b260c6477 100644 (file)
@@ -287,8 +287,8 @@ static void dirent_init_casefolded_name(struct bkey_i_dirent *dirent,
        EBUG_ON(!dirent->v.d_casefold);
        EBUG_ON(!cf_name->len);
 
-       dirent->v.d_cf_name_block.d_name_len = name->len;
-       dirent->v.d_cf_name_block.d_cf_name_len = cf_name->len;
+       dirent->v.d_cf_name_block.d_name_len = cpu_to_le16(name->len);
+       dirent->v.d_cf_name_block.d_cf_name_len = cpu_to_le16(cf_name->len);
        memcpy(&dirent->v.d_cf_name_block.d_names[0], name->name, name->len);
        memcpy(&dirent->v.d_cf_name_block.d_names[name->len], cf_name->name, cf_name->len);
        memset(&dirent->v.d_cf_name_block.d_names[name->len + cf_name->len], 0,