Home
last modified time | relevance | path

Searched hist:"522 f6e6c" (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/fs/overlayfs/
H A Doverlayfs.h522f6e6c Sat May 23 08:21:55 CDT 2020 Amir Goldstein <amir73il@gmail.com> ovl: fix out of bounds access warning in ovl_check_fb_len()

syzbot reported out of bounds memory access from open_by_handle_at()
with a crafted file handle that looks like this:

{ .handle_bytes = 2, .handle_type = OVL_FILEID_V1 }

handle_bytes gets rounded down to 0 and we end up calling:
ovl_check_fh_len(fh, 0) => ovl_check_fb_len(fh + 3, -3)

But fh buffer is only 2 bytes long, so accessing struct ovl_fb at
fh + 3 is illegal.

Fixes: cbe7fba8edfc ("ovl: make sure that real fid is 32bit aligned in memory")
Reported-and-tested-by: syzbot+61958888b1c60361a791@syzkaller.appspotmail.com
Cc: <stable@vger.kernel.org> # v5.5
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
522f6e6c Sat May 23 08:21:55 CDT 2020 Amir Goldstein <amir73il@gmail.com> ovl: fix out of bounds access warning in ovl_check_fb_len()

syzbot reported out of bounds memory access from open_by_handle_at()
with a crafted file handle that looks like this:

{ .handle_bytes = 2, .handle_type = OVL_FILEID_V1 }

handle_bytes gets rounded down to 0 and we end up calling:
ovl_check_fh_len(fh, 0) => ovl_check_fb_len(fh + 3, -3)

But fh buffer is only 2 bytes long, so accessing struct ovl_fb at
fh + 3 is illegal.

Fixes: cbe7fba8edfc ("ovl: make sure that real fid is 32bit aligned in memory")
Reported-and-tested-by: syzbot+61958888b1c60361a791@syzkaller.appspotmail.com
Cc: <stable@vger.kernel.org> # v5.5
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>