namei.c (592ddec7578a33fb6b3e2ba78aed91614bbb30e2) | namei.c (643fa9612bf1a29153eee46fd398117632f93cbe) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * linux/fs/ext4/namei.c 4 * 5 * Copyright (C) 1992, 1993, 1994, 1995 6 * Remy Card (card@masi.ibp.fr) 7 * Laboratoire MASI - Institut Blaise Pascal 8 * Universite Pierre et Marie Curie (Paris VI) --- 598 unchanged lines hidden (view full) --- 607 608 printk("names: "); 609 while ((char *) de < base + size) 610 { 611 if (de->inode) 612 { 613 if (show_names) 614 { | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * linux/fs/ext4/namei.c 4 * 5 * Copyright (C) 1992, 1993, 1994, 1995 6 * Remy Card (card@masi.ibp.fr) 7 * Laboratoire MASI - Institut Blaise Pascal 8 * Universite Pierre et Marie Curie (Paris VI) --- 598 unchanged lines hidden (view full) --- 607 608 printk("names: "); 609 while ((char *) de < base + size) 610 { 611 if (de->inode) 612 { 613 if (show_names) 614 { |
615#ifdef CONFIG_EXT4_FS_ENCRYPTION | 615#ifdef CONFIG_FS_ENCRYPTION |
616 int len; 617 char *name; 618 struct fscrypt_str fname_crypto_str = 619 FSTR_INIT(NULL, 0); 620 int res = 0; 621 622 name = de->name; 623 len = de->name_len; --- 355 unchanged lines hidden (view full) --- 979 bh = ext4_read_dirblock(dir, block, DIRENT); 980 if (IS_ERR(bh)) 981 return PTR_ERR(bh); 982 983 de = (struct ext4_dir_entry_2 *) bh->b_data; 984 top = (struct ext4_dir_entry_2 *) ((char *) de + 985 dir->i_sb->s_blocksize - 986 EXT4_DIR_REC_LEN(0)); | 616 int len; 617 char *name; 618 struct fscrypt_str fname_crypto_str = 619 FSTR_INIT(NULL, 0); 620 int res = 0; 621 622 name = de->name; 623 len = de->name_len; --- 355 unchanged lines hidden (view full) --- 979 bh = ext4_read_dirblock(dir, block, DIRENT); 980 if (IS_ERR(bh)) 981 return PTR_ERR(bh); 982 983 de = (struct ext4_dir_entry_2 *) bh->b_data; 984 top = (struct ext4_dir_entry_2 *) ((char *) de + 985 dir->i_sb->s_blocksize - 986 EXT4_DIR_REC_LEN(0)); |
987#ifdef CONFIG_EXT4_FS_ENCRYPTION | 987#ifdef CONFIG_FS_ENCRYPTION |
988 /* Check if the directory is encrypted */ 989 if (IS_ENCRYPTED(dir)) { 990 err = fscrypt_get_encryption_info(dir); 991 if (err < 0) { 992 brelse(bh); 993 return err; 994 } 995 err = fscrypt_fname_alloc_buffer(dir, EXT4_NAME_LEN, --- 46 unchanged lines hidden (view full) --- 1042 if (err != 0) { 1043 count = err; 1044 goto errout; 1045 } 1046 count++; 1047 } 1048errout: 1049 brelse(bh); | 988 /* Check if the directory is encrypted */ 989 if (IS_ENCRYPTED(dir)) { 990 err = fscrypt_get_encryption_info(dir); 991 if (err < 0) { 992 brelse(bh); 993 return err; 994 } 995 err = fscrypt_fname_alloc_buffer(dir, EXT4_NAME_LEN, --- 46 unchanged lines hidden (view full) --- 1042 if (err != 0) { 1043 count = err; 1044 goto errout; 1045 } 1046 count++; 1047 } 1048errout: 1049 brelse(bh); |
1050#ifdef CONFIG_EXT4_FS_ENCRYPTION | 1050#ifdef CONFIG_FS_ENCRYPTION |
1051 fscrypt_fname_free_buffer(&fname_crypto_str); 1052#endif 1053 return count; 1054} 1055 1056 1057/* 1058 * This function fills a red-black tree with information from a --- 203 unchanged lines hidden (view full) --- 1262{ 1263 struct fscrypt_name f; 1264 1265 if (!de->inode) 1266 return false; 1267 1268 f.usr_fname = fname->usr_fname; 1269 f.disk_name = fname->disk_name; | 1051 fscrypt_fname_free_buffer(&fname_crypto_str); 1052#endif 1053 return count; 1054} 1055 1056 1057/* 1058 * This function fills a red-black tree with information from a --- 203 unchanged lines hidden (view full) --- 1262{ 1263 struct fscrypt_name f; 1264 1265 if (!de->inode) 1266 return false; 1267 1268 f.usr_fname = fname->usr_fname; 1269 f.disk_name = fname->disk_name; |
1270#ifdef CONFIG_EXT4_FS_ENCRYPTION | 1270#ifdef CONFIG_FS_ENCRYPTION |
1271 f.crypto_buf = fname->crypto_buf; 1272#endif 1273 return fscrypt_match_name(&f, de->name, de->name_len); 1274} 1275 1276/* 1277 * Returns 0 if not found, -1 on failure, and 1 on success 1278 */ --- 214 unchanged lines hidden (view full) --- 1493 struct ext4_dir_entry_2 **res_dir) 1494{ 1495 struct super_block * sb = dir->i_sb; 1496 struct dx_frame frames[EXT4_HTREE_LEVEL], *frame; 1497 struct buffer_head *bh; 1498 ext4_lblk_t block; 1499 int retval; 1500 | 1271 f.crypto_buf = fname->crypto_buf; 1272#endif 1273 return fscrypt_match_name(&f, de->name, de->name_len); 1274} 1275 1276/* 1277 * Returns 0 if not found, -1 on failure, and 1 on success 1278 */ --- 214 unchanged lines hidden (view full) --- 1493 struct ext4_dir_entry_2 **res_dir) 1494{ 1495 struct super_block * sb = dir->i_sb; 1496 struct dx_frame frames[EXT4_HTREE_LEVEL], *frame; 1497 struct buffer_head *bh; 1498 ext4_lblk_t block; 1499 int retval; 1500 |
1501#ifdef CONFIG_EXT4_FS_ENCRYPTION | 1501#ifdef CONFIG_FS_ENCRYPTION |
1502 *res_dir = NULL; 1503#endif 1504 frame = dx_probe(fname, dir, NULL, frames); 1505 if (IS_ERR(frame)) 1506 return (struct buffer_head *) frame; 1507 do { 1508 block = dx_get_block(frame->at); 1509 bh = ext4_read_dirblock(dir, block, DIRENT); --- 2354 unchanged lines hidden --- | 1502 *res_dir = NULL; 1503#endif 1504 frame = dx_probe(fname, dir, NULL, frames); 1505 if (IS_ERR(frame)) 1506 return (struct buffer_head *) frame; 1507 do { 1508 block = dx_get_block(frame->at); 1509 bh = ext4_read_dirblock(dir, block, DIRENT); --- 2354 unchanged lines hidden --- |