]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
ovl: fix lseek overflow on 32bit
authorMiklos Szeredi <mszeredi@redhat.com>
Mon, 3 Feb 2020 10:41:53 +0000 (11:41 +0100)
committerKhalid Elmously <khalid.elmously@canonical.com>
Fri, 13 Mar 2020 05:19:20 +0000 (01:19 -0400)
commit02bd1af985337caef197d3cfe1ceeed0bf1a8be5
tree6f44177131b4c6d4f7f1419e60b9735aa52e6c5b
parentafe20430747f40fc5c565c2d03de755cbfc8c0d4
ovl: fix lseek overflow on 32bit

BugLink: https://bugs.launchpad.net/bugs/1867051
[ Upstream commit a4ac9d45c0cd14a2adc872186431c79804b77dbf ]

ovl_lseek() is using ssize_t to return the value from vfs_llseek().  On a
32-bit kernel ssize_t is a 32-bit signed int, which overflows above 2 GB.

Assign the return value of vfs_llseek() to loff_t to fix this.

Reported-by: Boris Gjenero <boris.gjenero@gmail.com>
Fixes: 9e46b840c705 ("ovl: support stacked SEEK_HOLE/SEEK_DATA")
Cc: <stable@vger.kernel.org> # v4.19
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
fs/overlayfs/file.c