diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 99de0328d1be..c45b8c64cdcd 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -1560,7 +1560,7 @@ static void unmap_and_kill(struct list_head *to_kill, unsigned long pfn, * mapping being torn down is communicated in siginfo, see * kill_proc() */ - loff_t start = (index << PAGE_SHIFT) & ~(size - 1); + loff_t start = ((loff_t)index << PAGE_SHIFT) & ~(size - 1); unmap_mapping_range(mapping, start, size, 0); }