On Mon, Aug 17, 2020 at 02:38:46PM +0200, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > The patch below does not apply to the 4.19-stable tree. > If someone wants it applied there, or to any other stable or longterm > tree, then please email the backport, including the original git commit > id to <stable@xxxxxxxxxxxxxxx>. > > thanks, > > greg k-h > > ------------------ original commit in Linus's tree ------------------ > > From 0dcd3c94e02438f4a571690e26f4ee997524102a Mon Sep 17 00:00:00 2001 > From: Gao Xiang <hsiangkao@xxxxxxxxxx> > Date: Thu, 30 Jul 2020 01:58:01 +0800 > Subject: [PATCH] erofs: fix extended inode could cross boundary > > Each ondisk inode should be aligned with inode slot boundary > (32-byte alignment) because of nid calculation formula, so all > compact inodes (32 byte) cannot across page boundary. However, > extended inode is now 64-byte form, which can across page boundary > in principle if the location is specified on purpose, although > it's hard to be generated by mkfs due to the allocation policy > and rarely used by Android use case now mainly for > 4GiB files. > > For now, only two fields `i_ctime_nsec` and `i_nlink' couldn't > be read from disk properly and cause out-of-bound memory read > with random value. > > Let's fix now. > > Fixes: 431339ba9042 ("staging: erofs: add inode operations") > Cc: <stable@xxxxxxxxxxxxxxx> # 4.19+ > Link: https://lore.kernel.org/r/20200729175801.GA23973@xxxxxxxxxxxxxxxxxx > Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx> > Signed-off-by: Gao Xiang <hsiangkao@xxxxxxxxxx> Yeah, due to code difference, will manually backport this later... Thanks, Gao Xiang