1 ext4: fix ext4_xattr_cmp()
3 From: Tahsin Erdogan <tahsin@google.com>
5 When a xattr entry refers to an external inode, the value data is not
6 available in the inline area so we should not attempt to read it using
9 Signed-off-by: Tahsin Erdogan <tahsin@google.com>
10 Signed-off-by: Theodore Ts'o <tytso@mit.edu>
12 fs/ext4/xattr.c | 3 ++-
13 1 file changed, 2 insertions(+), 1 deletion(-)
15 diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
16 index 9c243b3510b7..739f73a5a345 100644
19 @@ -2169,7 +2169,8 @@ ext4_xattr_cmp(struct ext4_xattr_header *header1,
20 entry1->e_value_inum != entry2->e_value_inum ||
21 memcmp(entry1->e_name, entry2->e_name, entry1->e_name_len))
23 - if (memcmp((char *)header1 + le16_to_cpu(entry1->e_value_offs),
24 + if (!entry1->e_value_inum &&
25 + memcmp((char *)header1 + le16_to_cpu(entry1->e_value_offs),
26 (char *)header2 + le16_to_cpu(entry2->e_value_offs),
27 le32_to_cpu(entry1->e_value_size)))
30 2.13.1.611.g7e3b11ae1-goog