xattr.c (a805622a757b6d7f65def4141d29317d8e37b8a1) xattr.c (8a363970d1dc38c4ec4ad575c862f776f468d057)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/ext4/xattr.c
4 *
5 * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de>
6 *
7 * Fix by Harrison Xing <harrison@mountainviewdata.com>.
8 * Ext4 code with a lot of help from Eric Jarman <ejarman@acm.org>.

--- 370 unchanged lines hidden (view full) ---

379#define EXT4_XATTR_INODE_GET_PARENT(inode) ((__u32)(inode)->i_mtime.tv_sec)
380
381static int ext4_xattr_inode_iget(struct inode *parent, unsigned long ea_ino,
382 u32 ea_inode_hash, struct inode **ea_inode)
383{
384 struct inode *inode;
385 int err;
386
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * linux/fs/ext4/xattr.c
4 *
5 * Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de>
6 *
7 * Fix by Harrison Xing <harrison@mountainviewdata.com>.
8 * Ext4 code with a lot of help from Eric Jarman <ejarman@acm.org>.

--- 370 unchanged lines hidden (view full) ---

379#define EXT4_XATTR_INODE_GET_PARENT(inode) ((__u32)(inode)->i_mtime.tv_sec)
380
381static int ext4_xattr_inode_iget(struct inode *parent, unsigned long ea_ino,
382 u32 ea_inode_hash, struct inode **ea_inode)
383{
384 struct inode *inode;
385 int err;
386
387 inode = ext4_iget(parent->i_sb, ea_ino);
387 inode = ext4_iget(parent->i_sb, ea_ino, EXT4_IGET_NORMAL);
388 if (IS_ERR(inode)) {
389 err = PTR_ERR(inode);
390 ext4_error(parent->i_sb,
391 "error while reading EA inode %lu err=%d", ea_ino,
392 err);
393 return err;
394 }
395

--- 1081 unchanged lines hidden (view full) ---

1477
1478 ea_data = ext4_kvmalloc(value_len, GFP_NOFS);
1479 if (!ea_data) {
1480 mb_cache_entry_put(ea_inode_cache, ce);
1481 return NULL;
1482 }
1483
1484 while (ce) {
388 if (IS_ERR(inode)) {
389 err = PTR_ERR(inode);
390 ext4_error(parent->i_sb,
391 "error while reading EA inode %lu err=%d", ea_ino,
392 err);
393 return err;
394 }
395

--- 1081 unchanged lines hidden (view full) ---

1477
1478 ea_data = ext4_kvmalloc(value_len, GFP_NOFS);
1479 if (!ea_data) {
1480 mb_cache_entry_put(ea_inode_cache, ce);
1481 return NULL;
1482 }
1483
1484 while (ce) {
1485 ea_inode = ext4_iget(inode->i_sb, ce->e_value);
1485 ea_inode = ext4_iget(inode->i_sb, ce->e_value,
1486 EXT4_IGET_NORMAL);
1486 if (!IS_ERR(ea_inode) &&
1487 !is_bad_inode(ea_inode) &&
1488 (EXT4_I(ea_inode)->i_flags & EXT4_EA_INODE_FL) &&
1489 i_size_read(ea_inode) == value_len &&
1490 !ext4_xattr_inode_read(ea_inode, ea_data, value_len) &&
1491 !ext4_xattr_inode_verify_hashes(ea_inode, NULL, ea_data,
1492 value_len) &&
1493 !memcmp(value, ea_data, value_len)) {

--- 1651 unchanged lines hidden ---
1487 if (!IS_ERR(ea_inode) &&
1488 !is_bad_inode(ea_inode) &&
1489 (EXT4_I(ea_inode)->i_flags & EXT4_EA_INODE_FL) &&
1490 i_size_read(ea_inode) == value_len &&
1491 !ext4_xattr_inode_read(ea_inode, ea_data, value_len) &&
1492 !ext4_xattr_inode_verify_hashes(ea_inode, NULL, ea_data,
1493 value_len) &&
1494 !memcmp(value, ea_data, value_len)) {

--- 1651 unchanged lines hidden ---