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 ---