On Sun, Apr 25, 2021 at 11:51:57AM +0200, Greg KH wrote: > On Sun, Apr 25, 2021 at 05:39:13PM +0800, Gao Xiang wrote: > > Hi Greg, > > > > On Sun, Apr 25, 2021 at 10:52:22AM +0200, Greg KH wrote: > > > On Tue, Aug 18, 2020 at 10:55:46AM +0800, Gao Xiang wrote: > > > > 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... > > > > > > What ever happened to this backport? Did I miss it somewhere? > > > > Thanks for your reminder, since the codebase was cleaned up and 4.19 > > codebase is somewhat different from the current codebase. > > > > Sorry for forgeting it, and I will try to pick it up and send it out soon. > > No worries, just ran across this and wanted to make sure that I didn't > drop it on my end somewhere. Nope, that was my fault. :) Due to 4.19 erofs staging version was quite an early version (1st upstreaming version), more non-trivial conflicts occur in this patch. But it needs to be fixed with careness if users would like to use 4.19 staging erofs and use extended inode. I'm addressing this now. Yet, I've suggested all Android vendors / users use 5.4+ LTS fs/erofs versions, since in-place decompression has been supported since linux 5.3 which is great for performance. And the 5.4 erofs codebase is already shipped for many other SoC vendors with their in-market products. Thanks, Gao Xiang > > thanks, > > greg k-h >