ovl: relax WARN_ON in ovl_verify_area()
[ Upstream commit77a28aa476
] syzbot hit an assertion in copy up data loop which looks like it is the result of a lower file whose size is being changed underneath overlayfs. This type of use case is documented to cause undefined behavior, so returning EIO error for the copy up makes sense, but it should not be causing a WARN_ON assertion. Reported-and-tested-by: syzbot+3abd99031b42acf367ef@syzkaller.appspotmail.com Fixes:ca7ab48240
("ovl: add permission hooks outside of do_splice_direct()") Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
dac068f164
commit
c3c85aefc0
|
@ -234,11 +234,11 @@ static int ovl_verify_area(loff_t pos, loff_t pos2, loff_t len, loff_t totlen)
|
|||
{
|
||||
loff_t tmp;
|
||||
|
||||
if (WARN_ON_ONCE(pos != pos2))
|
||||
if (pos != pos2)
|
||||
return -EIO;
|
||||
if (WARN_ON_ONCE(pos < 0 || len < 0 || totlen < 0))
|
||||
if (pos < 0 || len < 0 || totlen < 0)
|
||||
return -EIO;
|
||||
if (WARN_ON_ONCE(check_add_overflow(pos, len, &tmp)))
|
||||
if (check_add_overflow(pos, len, &tmp))
|
||||
return -EIO;
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue