summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorDaniel Rosenberg <drosen@google.com>2017-06-20 17:05:33 -0700
committerDaniel Rosenberg <drosen@google.com>2017-06-27 17:05:03 -0700
commit575a44c7cc5e526ff0311eb66d5c6cb2d931406c (patch)
tree7c5d1f1b828348e21d72e462eed966352b4f0018 /fs
parent77ddb509298785b46400c2944550be38623948b6 (diff)
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: Daniel Rosenberg <drosen@google.com> Bug: 35257858 Change-Id: I132cae93abea39390c3f0f91a4b2e026e97ed4c7
Diffstat (limited to 'fs')
-rw-r--r--fs/squashfs/block.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/squashfs/block.c b/fs/squashfs/block.c
index 2eb66decc5ab..4e3e0863f5ea 100644
--- a/fs/squashfs/block.c
+++ b/fs/squashfs/block.c
@@ -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)