d4a079d1 | 11-Apr-2024 |
Gustavo A. R. Silva <gustavoars@kernel.org> |
smb: smb2pdu.h: Avoid -Wflex-array-member-not-at-end warnings
-Wflex-array-member-not-at-end is coming in GCC-14, and we are getting ready to enable it globally.
So, in order to avoid ending up wit
smb: smb2pdu.h: Avoid -Wflex-array-member-not-at-end warnings
-Wflex-array-member-not-at-end is coming in GCC-14, and we are getting ready to enable it globally.
So, in order to avoid ending up with a flexible-array member in the middle of multiple other structs, we use the `__struct_group()` helper to separate the flexible array from the rest of the members in the flexible structure, and use the tagged `struct create_context_hdr` instead of `struct create_context`.
So, with these changes, fix 51 of the following warnings[1]:
fs/smb/client/../common/smb2pdu.h:1225:31: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
Link: https://gist.github.com/GustavoARSilva/772526a39be3dd4db39e71497f0a9893 [1] Link: https://github.com/KSPP/linux/issues/202 Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
show more ...
|
5a65254c | 19-Apr-2024 |
Namjae Jeon <linkinjeon@kernel.org> |
ksmbd: add continuous availability share parameter
[ Upstream commit e9d8c2f95ab8acaf3f4d4a53682a4afa3c263692 ]
If capabilities of the share is not SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY, ksmbd sho
ksmbd: add continuous availability share parameter
[ Upstream commit e9d8c2f95ab8acaf3f4d4a53682a4afa3c263692 ]
If capabilities of the share is not SMB2_SHARE_CAP_CONTINUOUS_AVAILABILITY, ksmbd should not grant a persistent handle to the client. This patch add continuous availability share parameter to control it.
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
07e76ea1 | 04-Apr-2024 |
David Howells <dhowells@redhat.com> |
cifs: Add tracing for the cifs_tcon struct refcounting
[ Upstream commit afc23febd51c7e24361e3a9c09f3e892eb0a41ea ]
Add tracing for the refcounting/lifecycle of the cifs_tcon struct, marking differ
cifs: Add tracing for the cifs_tcon struct refcounting
[ Upstream commit afc23febd51c7e24361e3a9c09f3e892eb0a41ea ]
Add tracing for the refcounting/lifecycle of the cifs_tcon struct, marking different events with different labels and giving each tcon its own debug ID so that the tracelines corresponding to individual tcons can be distinguished. This can be enabled with:
echo 1 >/sys/kernel/debug/tracing/events/cifs/smb3_tcon_ref/enable
Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Paulo Alcantara (Red Hat) <pc@manguebit.com> cc: Shyam Prasad N <nspmangalore@gmail.com> cc: linux-cifs@vger.kernel.org cc: linux-fsdevel@vger.kernel.org Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
2004e41c | 09-Apr-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: instantiate when creating SFU files
[ Upstream commit c6ff459037b2e35450af2351037eac4c8aca1d6b ]
In cifs_sfu_make_node(), on success, instantiate rather than leave it with dentry unhas
smb: client: instantiate when creating SFU files
[ Upstream commit c6ff459037b2e35450af2351037eac4c8aca1d6b ]
In cifs_sfu_make_node(), on success, instantiate rather than leave it with dentry unhashed negative to support callers that expect mknod(2) to always instantiate.
This fixes the following test case:
mount.cifs //srv/share /mnt -o ...,sfu mkfifo /mnt/fifo ./xfstests/ltp/growfiles -b -W test -e 1 -u -i 0 -L 30 /mnt/fifo ... BUG: unable to handle page fault for address: 000000034cec4e58 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 1 PREEMPT SMP PTI CPU: 0 PID: 138098 Comm: growfiles Kdump: loaded Not tainted 5.14.0-436.3987_1240945149.el9.x86_64 #1 Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 RIP: 0010:_raw_callee_save__kvm_vcpu_is_preempted+0x0/0x20 Code: e8 15 d9 61 00 e9 63 ff ff ff 41 bd ea ff ff ff e9 58 ff ff ff e8 d0 71 c0 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 <48> 8b 04 fd 60 2b c1 99 80 b8 90 50 03 00 00 0f 95 c0 c3 cc cc cc RSP: 0018:ffffb6a143cf7cf8 EFLAGS: 00010206 RAX: ffff8a9bc30fb038 RBX: ffff8a9bc666a200 RCX: ffff8a9cc0260000 RDX: 00000000736f622e RSI: ffff8a9bc30fb038 RDI: 000000007665645f RBP: ffffb6a143cf7d70 R08: 0000000000001000 R09: 0000000000000001 R10: 0000000000000001 R11: 0000000000000000 R12: ffff8a9bc666a200 R13: 0000559a302a12b0 R14: 0000000000001000 R15: 0000000000000000 FS: 00007fbed1dbb740(0000) GS:ffff8a9cf0000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000034cec4e58 CR3: 0000000128ec6006 CR4: 0000000000770ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <TASK> ? show_trace_log_lvl+0x1c4/0x2df ? show_trace_log_lvl+0x1c4/0x2df ? __mutex_lock.constprop.0+0x5f7/0x6a0 ? __die_body.cold+0x8/0xd ? page_fault_oops+0x134/0x170 ? exc_page_fault+0x62/0x150 ? asm_exc_page_fault+0x22/0x30 ? _pfx_raw_callee_save__kvm_vcpu_is_preempted+0x10/0x10 __mutex_lock.constprop.0+0x5f7/0x6a0 ? __mod_memcg_lruvec_state+0x84/0xd0 pipe_write+0x47/0x650 ? do_anonymous_page+0x258/0x410 ? inode_security+0x22/0x60 ? selinux_file_permission+0x108/0x150 vfs_write+0x2cb/0x410 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0xf0 ? syscall_exit_to_user_mode+0x22/0x40 ? do_syscall_64+0x6b/0xf0 ? sched_clock_cpu+0x9/0xc0 ? exc_page_fault+0x62/0x150 entry_SYSCALL_64_after_hwframe+0x6e/0x76
Cc: stable@vger.kernel.org Fixes: 72bc63f5e23a ("smb3: fix creating FIFOs when mounting with "sfu" mount option") Suggested-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Paulo Alcantara (Red Hat) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
01bce099 | 08-Apr-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: fix NULL ptr deref in cifs_mark_open_handles_for_deleted_file()
[ Upstream commit ec4535b2a1d709d3a1fbec26739c672f13c98a7b ]
cifs_get_fattr() may be called with a NULL inode, so check
smb: client: fix NULL ptr deref in cifs_mark_open_handles_for_deleted_file()
[ Upstream commit ec4535b2a1d709d3a1fbec26739c672f13c98a7b ]
cifs_get_fattr() may be called with a NULL inode, so check for a non-NULL inode before calling cifs_mark_open_handles_for_deleted_file().
This fixes the following oops:
mount.cifs //srv/share /mnt -o ...,vers=3.1.1 cd /mnt touch foo; tail -f foo & rm foo cat foo
BUG: kernel NULL pointer dereference, address: 00000000000005c0 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 2 PID: 696 Comm: cat Not tainted 6.9.0-rc2 #1 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-1.fc39 04/01/2014 RIP: 0010:__lock_acquire+0x5d/0x1c70 Code: 00 00 44 8b a4 24 a0 00 00 00 45 85 f6 0f 84 bb 06 00 00 8b 2d 48 e2 95 01 45 89 c3 41 89 d2 45 89 c8 85 ed 0 0 <48> 81 3f 40 7a 76 83 44 0f 44 d8 83 fe 01 0f 86 1b 03 00 00 31 d2 RSP: 0018:ffffc90000b37490 EFLAGS: 00010002 RAX: 0000000000000000 RBX: ffff888110021ec0 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000000005c0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000200 FS: 00007f2a1fa08740(0000) GS:ffff888157a00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000000005c0 CR3: 000000011ac7c000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: <TASK> ? __die+0x23/0x70 ? page_fault_oops+0x180/0x490 ? srso_alias_return_thunk+0x5/0xfbef5 ? exc_page_fault+0x70/0x230 ? asm_exc_page_fault+0x26/0x30 ? __lock_acquire+0x5d/0x1c70 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 lock_acquire+0xc0/0x2d0 ? cifs_mark_open_handles_for_deleted_file+0x3a/0x100 [cifs] ? srso_alias_return_thunk+0x5/0xfbef5 ? kmem_cache_alloc+0x2d9/0x370 _raw_spin_lock+0x34/0x80 ? cifs_mark_open_handles_for_deleted_file+0x3a/0x100 [cifs] cifs_mark_open_handles_for_deleted_file+0x3a/0x100 [cifs] cifs_get_fattr+0x24c/0x940 [cifs] ? srso_alias_return_thunk+0x5/0xfbef5 cifs_get_inode_info+0x96/0x120 [cifs] cifs_lookup+0x16e/0x800 [cifs] cifs_atomic_open+0xc7/0x5d0 [cifs] ? lookup_open.isra.0+0x3ce/0x5f0 ? __pfx_cifs_atomic_open+0x10/0x10 [cifs] lookup_open.isra.0+0x3ce/0x5f0 path_openat+0x42b/0xc30 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 do_filp_open+0xc4/0x170 do_sys_openat2+0xab/0xe0 __x64_sys_openat+0x57/0xa0 do_syscall_64+0xc1/0x1e0 entry_SYSCALL_64_after_hwframe+0x72/0x7a
Fixes: ffceb7640cbf ("smb: client: do not defer close open handles to deleted files") Reviewed-by: Meetakshi Setiya <msetiya@microsoft.com> Reviewed-by: Bharath SM <bharathsm@microsoft.com> Signed-off-by: Paulo Alcantara (Red Hat) <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
dbd2df36 | 24-Mar-2024 |
Steve French <stfrench@microsoft.com> |
smb3: add trace event for mknod
[ Upstream commit e9e9fbeb83f65d3d487e0a0838c0867292c99fb2 ]
Add trace points to help debug mknod and mkfifo:
smb3_mknod_done smb3_mknod_enter smb3_mknod_e
smb3: add trace event for mknod
[ Upstream commit e9e9fbeb83f65d3d487e0a0838c0867292c99fb2 ]
Add trace points to help debug mknod and mkfifo:
smb3_mknod_done smb3_mknod_enter smb3_mknod_err
Example output:
TASK-PID CPU# ||||| TIMESTAMP FUNCTION | | | ||||| | | mkfifo-6163 [003] ..... 960.425558: smb3_mknod_enter: xid=12 sid=0xb55130f6 tid=0x46e6241c path=\fifo1 mkfifo-6163 [003] ..... 960.432719: smb3_mknod_done: xid=12 sid=0xb55130f6 tid=0x46e6241c
Reviewed-by: Bharath SM <bharathsm@microsoft.com> Reviewed-by: Meetakshi Setiya <msetiya@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
8aff8b8b | 19-Mar-2024 |
Steve French <stfrench@microsoft.com> |
smb311: additional compression flag defined in updated protocol spec
[ Upstream commit e56bc745fa1de77abc2ad8debc4b1b83e0426c49 ]
Added new compression flag that was recently documented, in additio
smb311: additional compression flag defined in updated protocol spec
[ Upstream commit e56bc745fa1de77abc2ad8debc4b1b83e0426c49 ]
Added new compression flag that was recently documented, in addition fix some typos and clarify the sid_attr_data struct definition.
Reviewed-by: Bharath SM <bharathsm@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
a9aa7a77 | 19-Mar-2024 |
Steve French <stfrench@microsoft.com> |
smb311: correct incorrect offset field in compression header
[ Upstream commit 68c5818a27afcb5cdddab041b82e9d47c996cb6a ]
The offset field in the compression header is 32 bits not 16.
Reviewed-by:
smb311: correct incorrect offset field in compression header
[ Upstream commit 68c5818a27afcb5cdddab041b82e9d47c996cb6a ]
The offset field in the compression header is 32 bits not 16.
Reviewed-by: Bharath SM <bharathsm@microsoft.com> Reported-by: Enzo Matsumiya <ematsumiya@suse.de> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
c1f3c820 | 01-May-2024 |
Steve French <stfrench@microsoft.com> |
cifs: Move some extern decls from .c files to .h
[ Upstream commit 5b142b37c70b1fa6936fa2d0babb0b8c16767d3a ]
Move the following:
extern mempool_t *cifs_sm_req_poolp; extern mempoo
cifs: Move some extern decls from .c files to .h
[ Upstream commit 5b142b37c70b1fa6936fa2d0babb0b8c16767d3a ]
Move the following:
extern mempool_t *cifs_sm_req_poolp; extern mempool_t *cifs_req_poolp; extern mempool_t *cifs_mid_poolp; extern bool disable_legacy_dialects;
from various .c files to cifsglob.h.
Signed-off-by: David Howells <dhowells@redhat.com> cc: linux-cifs@vger.kernel.org Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
39bdc419 | 18-Mar-2024 |
Namjae Jeon <linkinjeon@kernel.org> |
ksmbd: fix potencial out-of-bounds when buffer offset is invalid
[ Upstream commit c6cd2e8d2d9aa7ee35b1fa6a668e32a22a9753da ]
I found potencial out-of-bounds when buffer offset fields of a few requ
ksmbd: fix potencial out-of-bounds when buffer offset is invalid
[ Upstream commit c6cd2e8d2d9aa7ee35b1fa6a668e32a22a9753da ]
I found potencial out-of-bounds when buffer offset fields of a few requests is invalid. This patch set the minimum value of buffer offset field to ->Buffer offset to validate buffer length.
Cc: stable@vger.kernel.org Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
9e4937cb | 16-Mar-2024 |
Namjae Jeon <linkinjeon@kernel.org> |
ksmbd: fix slab-out-of-bounds in smb_strndup_from_utf16()
[ Upstream commit d10c77873ba1e9e6b91905018e29e196fd5f863d ]
If ->NameOffset/Length is bigger than ->CreateContextsOffset/Length, ksmbd_che
ksmbd: fix slab-out-of-bounds in smb_strndup_from_utf16()
[ Upstream commit d10c77873ba1e9e6b91905018e29e196fd5f863d ]
If ->NameOffset/Length is bigger than ->CreateContextsOffset/Length, ksmbd_check_message doesn't validate request buffer it correctly. So slab-out-of-bounds warning from calling smb_strndup_from_utf16() in smb2_open() could happen. If ->NameLength is non-zero, Set the larger of the two sums (Name and CreateContext size) as the offset and length of the data area.
Reported-by: Yang Chaoming <lometsj@live.com> Cc: stable@vger.kernel.org Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
74dc3e5b | 13-Mar-2024 |
Colin Ian King <colin.i.king@gmail.com> |
ksmbd: Fix spelling mistake "connction" -> "connection"
[ Upstream commit e758fa6956cbc873e4819ec3dd97cfd05a4c147e ]
There is a spelling mistake in a ksmbd_debug debug message. Fix it.
Signed-off-
ksmbd: Fix spelling mistake "connction" -> "connection"
[ Upstream commit e758fa6956cbc873e4819ec3dd97cfd05a4c147e ]
There is a spelling mistake in a ksmbd_debug debug message. Fix it.
Signed-off-by: Colin Ian King <colin.i.king@gmail.com> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
27b40b7b | 13-Mar-2024 |
Marios Makassikis <mmakassikis@freebox.fr> |
ksmbd: fix possible null-deref in smb_lazy_parent_lease_break_close
[ Upstream commit 5fb282ba4fef8985a5acf2b32681f2ec07732561 ]
rcu_dereference can return NULL, so make sure we check against that.
ksmbd: fix possible null-deref in smb_lazy_parent_lease_break_close
[ Upstream commit 5fb282ba4fef8985a5acf2b32681f2ec07732561 ]
rcu_dereference can return NULL, so make sure we check against that.
Signed-off-by: Marios Makassikis <mmakassikis@freebox.fr> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
8b232696 | 14-Mar-2024 |
Bharath SM <bharathsm@microsoft.com> |
cifs: remove redundant variable assignment
[ Upstream commit 2760161d149f8d60c3f767fc62a823a1ead9d367 ]
This removes an unnecessary variable assignment. The assigned value will be overwritten by ci
cifs: remove redundant variable assignment
[ Upstream commit 2760161d149f8d60c3f767fc62a823a1ead9d367 ]
This removes an unnecessary variable assignment. The assigned value will be overwritten by cifs_fattr_to_inode before it is accessed, making the line redundant.
Signed-off-by: Bharath SM <bharathsm@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
1598a015 | 14-Mar-2024 |
Meetakshi Setiya <msetiya@microsoft.com> |
cifs: fixes for get_inode_info
[ Upstream commit fc20c523211a38b87fc850a959cb2149e4fd64b0 ]
Fix potential memory leaks, add error checking, remove unnecessary initialisation of status_file_deleted
cifs: fixes for get_inode_info
[ Upstream commit fc20c523211a38b87fc850a959cb2149e4fd64b0 ]
Fix potential memory leaks, add error checking, remove unnecessary initialisation of status_file_deleted and do not use cifs_iget() to get inode in reparse_info_to_fattr since fattrs may not be fully set.
Fixes: ffceb7640cbf ("smb: client: do not defer close open handles to deleted files") Reported-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Meetakshi Setiya <msetiya@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
91cdeb0d | 12-Mar-2024 |
Bharath SM <bharathsm@microsoft.com> |
cifs: defer close file handles having RH lease
[ Upstream commit dc528770edb138e26a533f8a77de5c4db18ea7f3 ]
Previously we only deferred closing file handles with RHW lease. To enhance performance b
cifs: defer close file handles having RH lease
[ Upstream commit dc528770edb138e26a533f8a77de5c4db18ea7f3 ]
Previously we only deferred closing file handles with RHW lease. To enhance performance benefits from deferred closes, we now include handles with RH leases as well.
Signed-off-by: Bharath SM <bharathsm@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
8df4bcdb | 12-Mar-2024 |
Namjae Jeon <linkinjeon@kernel.org> |
ksmbd: add support for durable handles v1/v2
[ Upstream commit c8efcc786146a951091588e5fa7e3c754850cb3c ]
Durable file handles allow reopening a file preserved on a short network outage and transpa
ksmbd: add support for durable handles v1/v2
[ Upstream commit c8efcc786146a951091588e5fa7e3c754850cb3c ]
Durable file handles allow reopening a file preserved on a short network outage and transparent client reconnection within a timeout. i.e. Durable handles aren't necessarily cleaned up when the opening process terminates.
This patch add support for durable handle version 1 and 2.
To prove durable handles work on ksmbd, I have tested this patch with the following smbtorture tests:
smb2.durable-open.open-oplock smb2.durable-open.open-lease smb2.durable-open.reopen1 smb2.durable-open.reopen1a smb2.durable-open.reopen1a-lease smb2.durable-open.reopen2 smb2.durable-open.reopen2a smb2.durable-open.reopen2-lease smb2.durable-open.reopen2-lease-v2 smb2.durable-open.reopen3 smb2.durable-open.reopen4 smb2.durable-open.delete_on_close2 smb2.durable-open.file-position smb2.durable-open.lease smb2.durable-open.alloc-size smb2.durable-open.read-only smb2.durable-v2-open.create-blob smb2.durable-v2-open.open-oplock smb2.durable-v2-open.open-lease smb2.durable-v2-open.reopen1 smb2.durable-v2-open.reopen1a smb2.durable-v2-open.reopen1a-lease smb2.durable-v2-open.reopen2 smb2.durable-v2-open.reopen2b
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
665e8588 | 10-Mar-2024 |
Namjae Jeon <linkinjeon@kernel.org> |
ksmbd: mark SMB2_SESSION_EXPIRED to session when destroying previous session
[ Upstream commit fa9415d4024fd0c58d24a4ad4f1826fb8bfcc4aa ]
Currently ksmbd exit connection as well destroying previous
ksmbd: mark SMB2_SESSION_EXPIRED to session when destroying previous session
[ Upstream commit fa9415d4024fd0c58d24a4ad4f1826fb8bfcc4aa ]
Currently ksmbd exit connection as well destroying previous session. When testing durable handle feaure, I found that destroy_previous_session() should destroy only session, i.e. the connection should be still alive. This patch mark SMB2_SESSION_EXPIRED on the previous session to be destroyed later and not used anymore.
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
eb4a05e3 | 08-Mar-2024 |
Enzo Matsumiya <ematsumiya@suse.de> |
smb: common: simplify compression headers
[ Upstream commit 24337b60e88219816f84d633369299660e8e8cce ]
Unify compression headers (chained and unchained) into a single struct so we can use it for th
smb: common: simplify compression headers
[ Upstream commit 24337b60e88219816f84d633369299660e8e8cce ]
Unify compression headers (chained and unchained) into a single struct so we can use it for the initial compression transform header interchangeably.
Also make the OriginalPayloadSize field to be always visible in the compression payload header, and have callers subtract its size when not needed.
Rename the related structs to match the naming convetion used in the other SMB2 structs.
Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
fdd938b2 | 08-Mar-2024 |
Enzo Matsumiya <ematsumiya@suse.de> |
smb: common: fix fields sizes in compression_pattern_payload_v1
[ Upstream commit f49af462875a0922167cf301cf126cd04009070e ]
See protocol documentation in MS-SMB2 section 2.2.42.2.2
Signed-off-by:
smb: common: fix fields sizes in compression_pattern_payload_v1
[ Upstream commit f49af462875a0922167cf301cf126cd04009070e ]
See protocol documentation in MS-SMB2 section 2.2.42.2.2
Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
e8aee4f4 | 23-Feb-2024 |
Enzo Matsumiya <ematsumiya@suse.de> |
smb: client: negotiate compression algorithms
[ Upstream commit 8fe7062b7d11fcd21c4dcb5f530eaa1a099b24e7 ]
Change "compress=" mount option to a boolean flag, that, if set, will enable negotiating c
smb: client: negotiate compression algorithms
[ Upstream commit 8fe7062b7d11fcd21c4dcb5f530eaa1a099b24e7 ]
Change "compress=" mount option to a boolean flag, that, if set, will enable negotiating compression algorithms with the server.
Do not de/compress anything for now.
Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
25f3604f | 06-Mar-2024 |
Steve French <stfrench@microsoft.com> |
smb3: add dynamic trace point for ioctls
[ Upstream commit 073dd87c8e1ee55ca163956f0c71249dc28aac51 ]
It can be helpful in debugging to know which ioctls are called to better correlate them with sm
smb3: add dynamic trace point for ioctls
[ Upstream commit 073dd87c8e1ee55ca163956f0c71249dc28aac51 ]
It can be helpful in debugging to know which ioctls are called to better correlate them with smb3 fsctls (and opens). Add a dynamic trace point to trace ioctls into cifs.ko
Here is sample output:
TASK-PID CPU# ||||| TIMESTAMP FUNCTION | | | ||||| | | new-inotify-ioc-90418 [001] ..... 142157.397024: smb3_ioctl: xid=18 fid=0x0 ioctl cmd=0xc009cf0b new-inotify-ioc-90457 [007] ..... 142217.943569: smb3_ioctl: xid=22 fid=0x389bf5b6 ioctl cmd=0xc009cf0b
Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
c057a809 | 24-Feb-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: return reparse type in /proc/mounts
[ Upstream commit 1e5f4240714bb238d2d17c7e14e5fb45c9140665 ]
Add support for returning reparse mount option in /proc/mounts.
Reported-by: kernel te
smb: client: return reparse type in /proc/mounts
[ Upstream commit 1e5f4240714bb238d2d17c7e14e5fb45c9140665 ]
Add support for returning reparse mount option in /proc/mounts.
Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202402262152.YZOwDlCM-lkp@intel.com/ Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
58252401 | 02-Feb-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: set correct d_type for reparse DFS/DFSR and mount point
[ Upstream commit 8bd25b61c5a55bc769c6608e9ce95860759acdcb ]
Set correct dirent->d_type for IO_REPARSE_TAG_DFS{,R} and IO_REPARS
smb: client: set correct d_type for reparse DFS/DFSR and mount point
[ Upstream commit 8bd25b61c5a55bc769c6608e9ce95860759acdcb ]
Set correct dirent->d_type for IO_REPARSE_TAG_DFS{,R} and IO_REPARSE_TAG_MOUNT_POINT reparse points.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
97db4160 | 28-Jan-2024 |
Paulo Alcantara <pc@manguebit.com> |
smb: client: parse uid, gid, mode and dev from WSL reparse points
[ Upstream commit 78e26bec4d6d3aef04276e28bed48a45fd00e116 ]
Parse the extended attributes from WSL reparse points to correctly rep
smb: client: parse uid, gid, mode and dev from WSL reparse points
[ Upstream commit 78e26bec4d6d3aef04276e28bed48a45fd00e116 ]
Parse the extended attributes from WSL reparse points to correctly report uid, gid mode and dev from ther instantiated inodes.
Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|