diff options
| author | Daniel Rosenberg <drosen@google.com> | 2017-06-20 17:05:33 -0700 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-06-28 12:07:22 +0200 |
| commit | da2fece941d2269e1892dcba1b153807167b32f2 (patch) | |
| tree | 4347ab0b5cb8c7e4d24aa587419d27198261187a | |
| parent | 0d181ba8872d14e1942140055d1816e6b4b94e1b (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
| -rw-r--r-- | fs/squashfs/block.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/squashfs/block.c b/fs/squashfs/block.c index a775b758d..a08048d17 100644 --- a/fs/squashfs/block.c +++ b/fs/squashfs/block.c @@ -210,8 +210,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_SIZE; - end_idx = ((idx + 1) * msblk->devblksize - req->offset + 1) / PAGE_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) |
