diff --git a/mm/shmem.c b/mm/shmem.c index e1b7cf4b5280..02de6326ef3b 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -2552,6 +2552,8 @@ static int shmem_swapin_folio(struct inode *inode, pgoff_t index, else error = -ENOMEM; folio = NULL; + /* Make sure to validate the original value. */ + swap = index_entry; goto failed; } if (fault_type) {