diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 4d6e43c88489..f2397a8cd6de 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -1705,7 +1705,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); }