- From a2df84eda86271c83e54a953f5bbd067f8baeb62 Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Sat, 25 Oct 2025 12:27:54 +0200
- Subject: [PATCH 1/4] sys: Backout OpenAFS-like |FSCTL_SET_PURGE_FAILURE_MODE|
- dummy support, causes Dpc-related crashes
- Backout OpenAFS-like |FSCTL_SET_PURGE_FAILURE_MODE| dummy support
- (commit #77e3f6e5e25ff56cdcc53b4d3853a748abcc609b) because it somehow
- triggers Dpc-related crashes, e.g. like this one:
- ---- snip ----
- nt!KeBugCheckEx
- nt!KiBugCheckDispatch+0x69
- nt!KiFastFailDispatch+0xd0
- nt!KiRaiseSecurityCheckFailure+0x332
- nt!KiProcessExpiredTimerList+0x248
- nt!KiRetireDpcList+0x5dd
- nt!KiIdleLoop+0x9e
- ---- snip ----
- |FSCTL_SET_PURGE_FAILURE_MODE| now again returns
- |STATUS_INVALID_DEVICE_REQUEST|, but we add a comment about this issue.
- Reviewed-by: Dan Shelton <dan.f.shelton@gmail.com>
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- sys/nfs41sys_fsctl.c | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
- diff --git a/sys/nfs41sys_fsctl.c b/sys/nfs41sys_fsctl.c
- index f6d44da..eb5ff06 100644
- --- a/sys/nfs41sys_fsctl.c
- +++ b/sys/nfs41sys_fsctl.c
- @@ -1401,11 +1401,14 @@ NTSTATUS nfs41_FsCtl(
- break;
- case FSCTL_SET_PURGE_FAILURE_MODE:
- /*
- - * For the time being just succeed this call, as OpenAFS
- - * does in openafs.git commit #0af079f2d03d1b76bd4221cb56b27091b5635fd0
- - * (https://git.openafs.org/?p=openafs.git;a=commit;h=0af079f2d03d1b76bd4221cb56b27091b5635fd0)
- + * We explicitly return here |STATUS_INVALID_DEVICE_REQUEST|, because
- + * returning |STATUS_SUCCESS| like OpenAFS (see openafs.git commit
- + * #0af079f2d03d1b76bd4221cb56b27091b5635fd0
- + * (https://git.openafs.org/?p=openafs.git;a=commit;h=0af079f2d03d1b76bd4221cb56b27091b5635fd0))
- + * somehow triggers Dpc-related crashes in
- + * |KiProcessExpiredTimerList()|, e.g. when building gcc.
- */
- - status = STATUS_SUCCESS;
- + status = STATUS_INVALID_DEVICE_REQUEST;
- break;
- default:
- break;
- --
- 2.51.0
- From 79f354f5d8083122d47eb86ee0033c5601d9e9e7 Mon Sep 17 00:00:00 2001
- From: Aurelien Couderc <aurelien.couderc2002@gmail.com>
- Date: Sat, 25 Oct 2025 12:43:18 +0200
- Subject: [PATCH 2/4] dll: Remove unneccesary double |wcslen()|
- Remove unneccesary double |wcslen()|.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- dll/nfs41_np.c | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
- diff --git a/dll/nfs41_np.c b/dll/nfs41_np.c
- index 401dbe2..e536c76 100644
- --- a/dll/nfs41_np.c
- +++ b/dll/nfs41_np.c
- @@ -697,10 +697,9 @@ NPAddConnection3(
- (void)StringCchCatW(ConnectionName,
- NFS41_SYS_MAX_PATH_LEN, &p[i]);
- - DbgP((L"Full Connect Name: '%ls'\n", ConnectionName));
- - DbgP((L"Full Connect Name Length: %d %d\n",
- - (wcslen(ConnectionName) + 1) * sizeof(WCHAR),
- - (wcslen(ConnectionName) + 1) * sizeof(WCHAR)));
- + DbgP((L"Full Connect Name: name='%ls', len=%ld\n",
- + ConnectionName,
- + (long)(((wcslen(ConnectionName) + 1) * sizeof(WCHAR)))));
- if (lpNetResource->lpLocalName == NULL) {
- DWORD gc_status;
- --
- 2.51.0
- From bb1d314d8139625fc622e6e61b7c3c0937dabcaf Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Sat, 25 Oct 2025 16:54:53 +0200
- Subject: [PATCH 3/4] daemon: Fix string of Windows "NULL SID" ACL
- Fix string of Windows "NULL SID" ACL.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- daemon/nfs41_const.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
- diff --git a/daemon/nfs41_const.h b/daemon/nfs41_const.h
- index 04adcc4..9873b7b 100644
- --- a/daemon/nfs41_const.h
- +++ b/daemon/nfs41_const.h
- @@ -504,7 +504,7 @@ enum nfs_ftype4 {
- #define ACE4_WIN_CREATOR_OWNER_LEN (sizeof(ACE4_WIN_CREATOR_OWNER)-1)
- #define ACE4_WIN_EVERYONE "Everyone@"
- #define ACE4_WIN_EVERYONE_LEN (sizeof(ACE4_WIN_EVERYONE)-1)
- -#define ACE4_WIN_NULL_SID "NULL_SID"
- +#define ACE4_WIN_NULL_SID "NULL SID"
- #define ACE4_WIN_NULL_SID_LEN (sizeof(ACE4_WIN_NULL_SID)-1)
- #endif /* NFS41_DRIVER_WS2022_HACKS */
- --
- 2.51.0
- From 6eb8f0d4ef01a144f2527f809f3a5372cb49d02e Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Sat, 25 Oct 2025 17:18:33 +0200
- Subject: [PATCH 4/4] daemon: Add "CREATOR GROUP" ACL for Windows Server 2022
- Add "CREATOR GROUP" ACL for Windows Server 2022.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- daemon/acl.c | 4 ++++
- daemon/nfs41_const.h | 2 ++
- 2 files changed, 6 insertions(+)
- diff --git a/daemon/acl.c b/daemon/acl.c
- index 7a3cbb6..8675db2 100644
- --- a/daemon/acl.c
- +++ b/daemon/acl.c
- @@ -117,6 +117,10 @@ static int check_4_special_identifiers(const char *restrict who,
- #endif /* NFS41_DRIVER_WS2022_HACKS */
- else if (!strncmp(who, ACE4_GROUP, ACE4_GROUP_LEN-1))
- type = WinCreatorGroupSid;
- +#ifdef NFS41_DRIVER_WS2022_HACKS
- + else if (!strncmp(who, ACE4_WIN_CREATOR_GROUP, ACE4_WIN_CREATOR_GROUP_LEN-1))
- + type = WinCreatorGroupSid;
- +#endif /* NFS41_DRIVER_WS2022_HACKS */
- else if (!strncmp(who, ACE4_EVERYONE, ACE4_EVERYONE_LEN-1))
- type = WinWorldSid;
- #ifdef NFS41_DRIVER_WS2022_HACKS
- diff --git a/daemon/nfs41_const.h b/daemon/nfs41_const.h
- index 9873b7b..494ba91 100644
- --- a/daemon/nfs41_const.h
- +++ b/daemon/nfs41_const.h
- @@ -502,6 +502,8 @@ enum nfs_ftype4 {
- /* Names used by Microsoft Windows 2019/2022 NFSv4.1 server */
- #define ACE4_WIN_CREATOR_OWNER "CREATOR OWNER@"
- #define ACE4_WIN_CREATOR_OWNER_LEN (sizeof(ACE4_WIN_CREATOR_OWNER)-1)
- +#define ACE4_WIN_CREATOR_GROUP "CREATOR GROUP@"
- +#define ACE4_WIN_CREATOR_GROUP_LEN (sizeof(ACE4_WIN_CREATOR_GROUP)-1)
- #define ACE4_WIN_EVERYONE "Everyone@"
- #define ACE4_WIN_EVERYONE_LEN (sizeof(ACE4_WIN_EVERYONE)-1)
- #define ACE4_WIN_NULL_SID "NULL SID"
- --
- 2.51.0
msnfs41client: Backout |FSCTL_SET_PURGE_FAILURE_MODE| dummy support, Windows Server 2022 ACL fixes+misc, 2025-10-25
Posted by Anonymous on Sat 25th Oct 2025 16:29
raw | new post
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.
rovema.kpaste.net RSS