Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 575a44c7 authored by Daniel Rosenberg's avatar Daniel Rosenberg
Browse files

ANDROID: squashfs: Fix signed division issue



The value here can change depending on the type that PAGE_SIZE
has on a given architecture. To avoid the ensuing signed and
unsigned division conversions, we shift instead using PAGE_SHIFT

Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
Bug: 35257858
Change-Id: I132cae93abea39390c3f0f91a4b2e026e97ed4c7
parent 77ddb509
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -211,8 +211,8 @@ static int bh_is_optional(struct squashfs_read_request *req, int idx)
	int start_idx, end_idx;
	struct squashfs_sb_info *msblk = req->sb->s_fs_info;

	start_idx = (idx * msblk->devblksize - req->offset) / PAGE_CACHE_SIZE;
	end_idx = ((idx + 1) * msblk->devblksize - req->offset + 1) / PAGE_CACHE_SIZE;
	start_idx = (idx * msblk->devblksize - req->offset) >> PAGE_SHIFT;
	end_idx = ((idx + 1) * msblk->devblksize - req->offset + 1) >> PAGE_SHIFT;
	if (start_idx >= req->output->pages)
		return 1;
	if (start_idx < 0)