#
2c2814d0 |
| 16-May-2024 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Use macros NTFS_LABEL_MAX_LENGTH instead of hardcoded value
To check the length of the volume label, the existing constant NTFS_LABEL_MAX_LENGTH could be used.
Signed-off-by: Konstantin K
fs/ntfs3: Use macros NTFS_LABEL_MAX_LENGTH instead of hardcoded value
To check the length of the volume label, the existing constant NTFS_LABEL_MAX_LENGTH could be used.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
3f5ef510 |
| 27-Mar-2024 |
Alexander Lobakin <aleksander.lobakin@intel.com> |
fs/ntfs3: add prefix to bitmap_size() and use BITS_TO_U64()
bitmap_size() is a pretty generic name and one may want to use it for a generic bitmap API function. At the same time, its logic is NTFS-s
fs/ntfs3: add prefix to bitmap_size() and use BITS_TO_U64()
bitmap_size() is a pretty generic name and one may want to use it for a generic bitmap API function. At the same time, its logic is NTFS-specific, as it aligns to the sizeof(u64), not the sizeof(long) (although it uses ideologically right ALIGN() instead of division). Add the prefix 'ntfs3_' used for that FS (not just 'ntfs_' to not mix it with the legacy module) and use generic BITS_TO_U64() while at it.
Suggested-by: Yury Norov <yury.norov@gmail.com> # BITS_TO_U64() Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Reviewed-by: Yury Norov <yury.norov@gmail.com> Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
#
5ca87d01 |
| 26-Jan-2024 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Prevent generic message "attempt to access beyond end of device"
It used in test environment.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
d6ca2d25 |
| 28-Nov-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Add and fix comments
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
97ec56d3 |
| 24-Nov-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: ntfs3_forced_shutdown use int instead of bool
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
bfbe5b31 |
| 30-Jun-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: fix deadlock in mark_as_free_ex
Reported-by: syzbot+e94d98936a0ed08bde43@syzkaller.appspotmail.com Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
06ccfb00 |
| 30-Jun-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Write immediately updated ntfs state
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
7832e123 |
| 08-May-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Add support /proc/fs/ntfs3/<dev>/volinfo and /proc/fs/ntfs3/<dev>/label
Metafile /proc/fs/ntfs3/<dev>/label allows to read/write current ntfs label.
Signed-off-by: Konstantin Komarov <alm
fs/ntfs3: Add support /proc/fs/ntfs3/<dev>/volinfo and /proc/fs/ntfs3/<dev>/label
Metafile /proc/fs/ntfs3/<dev>/label allows to read/write current ntfs label.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
a81f47c4 |
| 08-May-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Code refactoring
Check functions arguments. Use u8 instead of size_t for ntfs names, more consts and other.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
f0377761 |
| 08-May-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Code formatting
clang-format-15 was used to format code according kernel's .clang-format.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
e0f363a9 |
| 08-May-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Mark ntfs dirty when on-disk struct is corrupted
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
e43f6ec2 |
| 15-Feb-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Print details about mount fails
Added error mesages with error codes. Minor refactoring and code formatting.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
96de65a9 |
| 17-Jan-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Code formatting and refactoring
Added minor refactoring. Added and fixed some comments. In some places, the code has been reformatted to fit into 80 columns. clang-format-12 was used to fo
fs/ntfs3: Code formatting and refactoring
Added minor refactoring. Added and fixed some comments. In some places, the code has been reformatted to fit into 80 columns. clang-format-12 was used to format code according kernel's .clang-format.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
e483783c |
| 14-Feb-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Undo endian changes
sbi->mft.reserved_bitmap is in-memory (not on-disk!) bitmap. Assumed cpu endian is faster than fixed endian.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@par
fs/ntfs3: Undo endian changes
sbi->mft.reserved_bitmap is in-memory (not on-disk!) bitmap. Assumed cpu endian is faster than fixed endian.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
62560248 |
| 16-Jan-2023 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Optimization in ntfs_set_state()
The current volume flags are updated only if VOLUME_FLAG_DIRTY has been changed.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.c
fs/ntfs3: Optimization in ntfs_set_state()
The current volume flags are updated only if VOLUME_FLAG_DIRTY has been changed.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
6827d50b |
| 30-Dec-2022 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Refactoring of various minor issues
Removed unused macro. Changed null pointer checking. Fixed inconsistent indenting.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-softw
fs/ntfs3: Refactoring of various minor issues
Removed unused macro. Changed null pointer checking. Fixed inconsistent indenting.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
fc499245 |
| 29-Dec-2022 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Add null pointer checks
Added null pointer checks in function ntfs_security_init. Also added le32_to_cpu in functions ntfs_security_init and indx_read.
Signed-off-by: Konstantin Komarov <
fs/ntfs3: Add null pointer checks
Added null pointer checks in function ntfs_security_init. Also added le32_to_cpu in functions ntfs_security_init and indx_read.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
db2a3cc6 |
| 17-Nov-2022 |
Ye Bin <yebin10@huawei.com> |
fs/ntfs3: Fix NULL pointer dereference in 'ni_write_inode'
Syzbot found the following issue: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000016 Mem abort info: ES
fs/ntfs3: Fix NULL pointer dereference in 'ni_write_inode'
Syzbot found the following issue: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000016 Mem abort info: ESR = 0x0000000096000006 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x06: level 2 translation fault Data abort info: ISV = 0, ISS = 0x00000006 CM = 0, WnR = 0 user pgtable: 4k pages, 48-bit VAs, pgdp=000000010af56000 [0000000000000016] pgd=08000001090da003, p4d=08000001090da003, pud=08000001090ce003, pmd=0000000000000000 Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP Modules linked in: CPU: 1 PID: 3036 Comm: syz-executor206 Not tainted 6.0.0-rc6-syzkaller-17739-g16c9f284e746 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/26/2022 pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : is_rec_inuse fs/ntfs3/ntfs.h:313 [inline] pc : ni_write_inode+0xac/0x798 fs/ntfs3/frecord.c:3232 lr : ni_write_inode+0xa0/0x798 fs/ntfs3/frecord.c:3226 sp : ffff8000126c3800 x29: ffff8000126c3860 x28: 0000000000000000 x27: ffff0000c8b02000 x26: ffff0000c7502320 x25: ffff0000c7502288 x24: 0000000000000000 x23: ffff80000cbec91c x22: ffff0000c8b03000 x21: ffff0000c8b02000 x20: 0000000000000001 x19: ffff0000c75024d8 x18: 00000000000000c0 x17: ffff80000dd1b198 x16: ffff80000db59158 x15: ffff0000c4b6b500 x14: 00000000000000b8 x13: 0000000000000000 x12: ffff0000c4b6b500 x11: ff80800008be1b60 x10: 0000000000000000 x9 : ffff0000c4b6b500 x8 : 0000000000000000 x7 : ffff800008be1b50 x6 : 0000000000000000 x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000000 x2 : 0000000000000008 x1 : 0000000000000001 x0 : 0000000000000000 Call trace: is_rec_inuse fs/ntfs3/ntfs.h:313 [inline] ni_write_inode+0xac/0x798 fs/ntfs3/frecord.c:3232 ntfs_evict_inode+0x54/0x84 fs/ntfs3/inode.c:1744 evict+0xec/0x334 fs/inode.c:665 iput_final fs/inode.c:1748 [inline] iput+0x2c4/0x324 fs/inode.c:1774 ntfs_new_inode+0x7c/0xe0 fs/ntfs3/fsntfs.c:1660 ntfs_create_inode+0x20c/0xe78 fs/ntfs3/inode.c:1278 ntfs_create+0x54/0x74 fs/ntfs3/namei.c:100 lookup_open fs/namei.c:3413 [inline] open_last_lookups fs/namei.c:3481 [inline] path_openat+0x804/0x11c4 fs/namei.c:3688 do_filp_open+0xdc/0x1b8 fs/namei.c:3718 do_sys_openat2+0xb8/0x22c fs/open.c:1311 do_sys_open fs/open.c:1327 [inline] __do_sys_openat fs/open.c:1343 [inline] __se_sys_openat fs/open.c:1338 [inline] __arm64_sys_openat+0xb0/0xe0 fs/open.c:1338 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline] invoke_syscall arch/arm64/kernel/syscall.c:52 [inline] el0_svc_common+0x138/0x220 arch/arm64/kernel/syscall.c:142 do_el0_svc+0x48/0x164 arch/arm64/kernel/syscall.c:206 el0_svc+0x58/0x150 arch/arm64/kernel/entry-common.c:636 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:654 el0t_64_sync+0x18c/0x190 Code: 97dafee4 340001b4 f9401328 2a1f03e0 (79402d14) ---[ end trace 0000000000000000 ]---
Above issue may happens as follows: ntfs_new_inode mi_init mi->mrec = kmalloc(sbi->record_size, GFP_NOFS); -->failed to allocate memory if (!mi->mrec) return -ENOMEM; iput iput_final evict ntfs_evict_inode ni_write_inode is_rec_inuse(ni->mi.mrec)-> As 'ni->mi.mrec' is NULL trigger NULL-ptr-deref
To solve above issue if new inode failed make inode bad before call 'iput()' in 'ntfs_new_inode()'.
Reported-by: syzbot+f45957555ed4a808cc7a@syzkaller.appspotmail.com Signed-off-by: Ye Bin <yebin10@huawei.com> Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
97a6815e |
| 11-Oct-2022 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Use ALIGN kernel macro
This way code will be more readable.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
6f80ed14 |
| 07-Oct-2022 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Correct ntfs_check_for_free_space
zlen in some cases was bigger than correct value.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
910013f7 |
| 07-Oct-2022 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Restore correct state after ENOSPC in attr_data_get_block
Added new function ntfs_check_for_free_space. Added undo mechanism in attr_data_get_block. Fixes xfstest generic/083
Signed-off-b
fs/ntfs3: Restore correct state after ENOSPC in attr_data_get_block
Added new function ntfs_check_for_free_space. Added undo mechanism in attr_data_get_block. Fixes xfstest generic/083
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
ba118928 |
| 06-Oct-2022 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Simplify ntfs_update_mftmirr function
Make err assignment in one place.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
39290421 |
| 06-Oct-2022 |
Konstantin Komarov <almaz.alexandrovich@paragon-software.com> |
fs/ntfs3: Remove unused functions
Removed attr_must_be_resident and ntfs_query_def.
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
|
#
095d8ce6 |
| 07-Dec-2021 |
Thomas Kühnel <thomas.kuehnel@avm.de> |
fs/ntfs3: Use _le variants of bitops functions
The functions from bitops.h already have _le variants so use them to prevent invalid reads/writes of the bitmap on big endian systems.
Signed-off-by:
fs/ntfs3: Use _le variants of bitops functions
The functions from bitops.h already have _le variants so use them to prevent invalid reads/writes of the bitmap on big endian systems.
Signed-off-by: Thomas Kühnel <thomas.kuehnel@avm.de> Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|
#
1d07a9df |
| 10-Oct-2022 |
Daniel Pinto <danielpinto52@gmail.com> |
fs/ntfs3: Add windows_names mount option
When enabled, the windows_names mount option prevents the creation of files or directories with names not allowed by Windows. Use the same option name as NTF
fs/ntfs3: Add windows_names mount option
When enabled, the windows_names mount option prevents the creation of files or directories with names not allowed by Windows. Use the same option name as NTFS-3G for compatibility.
Signed-off-by: Daniel Pinto <danielpinto52@gmail.com> Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
show more ...
|