After SM4350 ES FC rebase, find some API are delete by Google in GKI.
we have to workround as below:
KBUILD_EXTRA_SYMBOLS += $(CURDIR)/../../kernel/
msm-$(MODULE_KERNEL_VERSION)/Module.symvers
ERROR: "truncate_setsize" [../../motorola/kernel/modules/fs/exfat/exfat.ko] undefined!
ERROR: "setattr_prepare" [../../motorola/kernel/modules/fs/exfat/exfat.ko] undefined!
ERROR: "clear_nlink" [../../motorola/kernel/modules/fs/exfat/exfat.ko] undefined!
ERROR: "set_nlink" [../../motorola/kernel/modules/fs/exfat/exfat.ko] undefined!
ERROR: "d_splice_alias" [../../motorola/kernel/modules/fs/exfat/exfat.ko] undefined!
ERROR: "igrab" [../../motorola/kernel/modules/fs/exfat/exfat.ko] undefined!
Change-Id: I9399a691ee70485a157e33243c7095c38ab37290
Reviewed-on: https://gerrit.mot.com/1796098
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
fixed exfat compliling failed on kernel 5.4 , due to MS_RDONLY and
MS_NODIRATIME flag is just used for mounting, if file system need
used SB_*.
Change-Id: Icf8bb0595bd2aacefcc3bbf6bc81c48f103af6bf
Signed-off-by: yuedl1 <yuedl1@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1773673
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Dongliang Yue <yuedl1@motorola.com>
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
when exfat unmounted, but fs_error maybe callbacked by block layer
still.so just check whether the sb and sb_fs_info was released.
Change-Id: I30f55a2f3a20cbaecccbcf12d143590a02d1bf19
Signed-off-by: yuedl1 <yuedl1@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1708296
Tested-by: Jira Key
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
kzalloc maybe fail when memory fragmented, there is not enough contiguous
memory to used.
04-17 02:19:20.788 672 11313 D vold : File system checking finished.
No errors found.
04-17 02:19:20.788 672 11313 D vold :
04-17 02:19:20.788 672 11313 I vold : Check OK
04-17 02:19:20.816 672 11313 E vold : Mount failed; attempting
read-only: Out of memory
04-17 02:19:20.818 672 11313 E vold : public:8,97 failed to mount
/dev/block/vold/public:8,97: Out of memory
Binder : 672_7: page allocation failure: order:4, mode:0x60c0c0
(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null)
Change-Id: I7bb92c672bdf2b2f777871d5f12f793b34d36b7f
Reviewed-on: https://gerrit.mot.com/1539365
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Shi-Yong Li <a22381@motorola.com>
Reviewed-by: Dongliang Yue <yuedl1@motorola.com>
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
In exfat_find_dir_entry, if there doesn't have a TYPE_STREAM(0xc0) entry
before TYPE_EXTEND(0xc1), it will cause kernel panic for the kernel poniter
uniname accessing invalid address
Propogated from OMR1.
Change-Id: Ic8063eafc1c458c96c18a96d58dacd8f33695bb2
Signed-off-by: sunyue5 <sunyue5@motorola.com>
Reviewed-on: https://gerrit.mot.com/1235768
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Yue Sun <sunyue5@lenovo.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
Signed-off-by: yuedl1 <yuedl1@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1290985
Reviewed-by: Shi-Yong Li <a22381@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
WRITE_SYNC is not defined on new kernel.
Change-Id: If47e84c06a0e52ccf4a7a116d233f8d8c924191e
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1207791
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Ling Jin <lingjin@motorola.com>
Submit-Approved: Jira Key
Switch to debug prints for some spammy errors.
Change-Id: I847d21fcaa4a66b0521e43c62fe7d7b6c1e140d7
Signed-off-by: Igor Kovalenko <c(CR)@motorola.com>
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102185
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
This patch adds error check in case a defect exFAT SD cards is inserted.
Change-Id: I37f6b8716abd556908aad72b18fcc7ac5719766e
Signed-off-by: Min Shi <e13386@motorola.com>
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102184
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
This patch fix the bug that exfat fs cannot write
continuous blocks in one bio.
This will cause every request submit in block layer
only contains one block, cause write speed slower.
Change-Id: Ia548a7d8051defc1498d2d11d39e069bf683fdff
Signed-off-by: haojl2 <haojl2@motorola.com>
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102183
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
We can not send uevent directly because it might be called
from atomic context.
Change-Id: I384a7f197b22b1fcb8d068c98908e4fa5a1d3b82
Signed-off-by: Lianwei Wang <a22439@motorola.com>
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102182
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
when call utf16s_to_utf8s, last parmater 'maxout' will be reduced
with the returned value of utf32_to_utf8, the value reflects the
size of one utf character, it could be 1~max charset size(3), so
maxout should use MAX_NAME_LENGTH * MAX_CHARSET_SIZE
when call utf8s_to_utf16s, the inlen will be reduced with the
the returned value of utf8_to_utf32, so it should use
MAX_NAME_LENGTH * MAX_CHARSET_SIZE or the lenghth of p_cstring whose
max value is MAX_NAME_LENGTH * MAX_CHARSET_SIZE.
Change-Id: Icbea02ece4b1a5b015037a6a54178ee8e08d4325
Signed-off-by: Shengzhe Zhao <a18689@motorola.com>
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102180
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
utf8s_to_utf16s could return -EINVAL(-22), then uniname[i] =
uniname[-22] = '\0' will corrupt other local variable.
uniname is a local variable having different address everytime
when call nls_cstring_to_uniname. so uniname[-22] could corrupt
some different addresses.
and also when filename reaches at maximum length, need to leave
last one space in buffer for '\0'
Change-Id: I44bbdd3249150ad5617c7cd13207cfa37b102a77
Signed-off-by: Shengzhe Zhao <a18689@motorola.com>
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102179
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
The ->writepage should unlock its page before returning the results.
Otherwise, evict_inode can be hanged while truncating pages.
- Backtrace -
(__schedule+0x3dc/0x908) from [<c0b67854>] (io_schedule+0x6c/0x94)
(io_schedule+0x6c/0x94) from [<c01ce2dc>] (sleep_on_page+0x8/0x10)
(sleep_on_page+0x8/0x10) from [<c0b64e70>] (__wait_on_bit_lock+0x6c/0xb8)
(__wait_on_bit_lock+0x6c/0xb8) from [<c01ce418>] (__lock_page+0x90/0x98)
(__lock_page+0x90/0x98) from [<c01dcae8>] (truncate_inode_pages_range+0x360/0x37c)
(truncate_inode_pages_range+0x360/0x37c) from [<c01dcb1c>] (truncate_inode_pages+0x18/0x20)
(truncate_inode_pages+0x18/0x20) from [<c0304618>] (exfat_evict_inode+0x18/0xb0)
(exfat_evict_inode+0x18/0xb0) from [<c0228590>] (evict+0x94/0x178)
(evict+0x94/0x178) from [<c02286a4>] (dispose_list+0x30/0x40)
(dispose_list+0x30/0x40) from [<c022924c>] (evict_inodes+0xc8/0xd0)
(evict_inodes+0xc8/0xd0) from [<c0212964>] (generic_shutdown_super+0x44/0xc4)
(generic_shutdown_super+0x44/0xc4) from [<c0212bd4>] (kill_block_super+0x18/0x68)
(kill_block_super+0x18/0x68) from [<c0212f3c>] (deactivate_locked_super+0x48/0x64)
(deactivate_locked_super+0x48/0x64) from [<c022d660>] (SyS_umount+0x90/0x390)
Change-Id: I0a9caebeceda503c72e365957b1bf97d74f3de89
Signed-off-by: Jaegeuk Kim <jaegeuk@motorola.com>
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102178
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
Otherwise, we can get kernel panic when handling fs_error().
Change-Id: I288ece9bdc0182b0d4cf23f1bba920d341a8f540
Signed-off-by: Jaegeuk Kim <jaegeuk@motorola.com>
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102177
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key
This patch implements errors=remount-ro for exfat.
Port of cf4fa60 and 58ec900 on 8996 with minor change for
updated submit_io() interface in kernel 4.9.
Change-Id: Iee791a99216ecf9f710adffa681706e761f97d8f
Signed-off-by: Shiyong Li <a22381@motorola.com>
Reviewed-on: https://gerrit.mot.com/1102176
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Igor Kovalenko <igork@motorola.com>
Submit-Approved: Jira Key