Thread (2 messages) 2 messages, 2 authors, 2011-08-29

Re: [PATCH] btrfs: check file extent backref offset underflow

From: Li Zefan <hidden>
Date: 2011-08-29 01:59:13

Yan, Zheng wrote:
Offset field in data extent backref can underflow if clone range ioctl
is used. We can reliably detect the underflow because max file size is
limited to 2^63 and max data extent size is limited by block group size.

Signed-off-by: Zheng Yan  <redacted>
Tested-by: Li Zefan <redacted>

...
quoted hunk ↗ jump to hunk
@@ -3323,8 +3323,11 @@ static int find_data_references(struct reloc_control *rc,
 	}
 
 	key.objectid = ref_objectid;
-	key.offset = ref_offset;
 	key.type = BTRFS_EXTENT_DATA_KEY;
+	if (ref_offset > ((u64)-1 << 32))
+		key.offset = 0;
+	else
+		key.offset = ref_offset;
This needs comment, as we're working around a corner case and a magic number is
used.
 
 	path->search_commit_root = 1;
 	path->skip_locking = 1;
--
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help