Use FUSE_COMPAT_22_INIT_OUT_SIZE always as the resopnse size of FUSE_INIT.
We return the minor version number 15 to FUSE_INIT since we don't handle BATCH_FORGET. Thus the kernel does not accept the latest size of fuse_init_out. Instead we need to use FUSE_COMPAT_22_INIT_OUT_SIZE. Previously the code unintentionally used FUSE_COMPAT_22_INIT_OUT_SIZE always because we override the minor version out->minor to 15. Because sdcard.c shares the buffer for |in| and |out|, it overrides the version number of in->minnor as well. The if closure in the previous code "if (in->minor <= 22)" was always true. The CL removes the if closure to explicitly use FUSE_COMPAT_22_INIT_OUT_SIZE always. Bug: 32779923 Test: Manually boot Android and check if the storage shows up in Settings app. Change-Id: Ibbc50da7fb82be148acfc5f1a3d46fefbe211f9d
Loading
Please register or sign in to comment