Index: trunk/src/VBox/Additions/linux/sharedfolders/dirops.c
===================================================================
--- trunk/src/VBox/Additions/linux/sharedfolders/dirops.c	(revision 101081)
+++ trunk/src/VBox/Additions/linux/sharedfolders/dirops.c	(revision 101359)
@@ -78,5 +78,5 @@
         pReq = (VBOXSFCREATEREQ *)VbglR0PhysHeapAlloc(RT_UOFFSETOF(VBOXSFCREATEREQ, StrPath.String) + sf_i->path->u16Size);
         if (pReq) {
-            VBSF_UNFORTIFIED_MEMCPY(&pReq->StrPath, sf_i->path, SHFLSTRING_HEADER_SIZE + sf_i->path->u16Size);
+            RT_BCOPY_UNFORTIFIED(&pReq->StrPath, sf_i->path, SHFLSTRING_HEADER_SIZE + sf_i->path->u16Size);
             RT_ZERO(pReq->CreateParms);
             pReq->CreateParms.Handle      = SHFL_HANDLE_NIL;
@@ -688,5 +688,5 @@
 
             RT_ZERO(*pReq);
-            VBSF_UNFORTIFIED_MEMCPY(&pReq->StrPath, path, SHFLSTRING_HEADER_SIZE + path->u16Size);
+            RT_BCOPY_UNFORTIFIED(&pReq->StrPath, path, SHFLSTRING_HEADER_SIZE + path->u16Size);
             pReq->CreateParms.Handle = SHFL_HANDLE_NIL;
             pReq->CreateParms.CreateFlags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW;
@@ -824,5 +824,5 @@
         } *pReq = (union CreateAuxReq *)VbglR0PhysHeapAlloc(RT_UOFFSETOF(VBOXSFCREATEREQ, StrPath.String) + path->u16Size);
         if (pReq) {
-            VBSF_UNFORTIFIED_MEMCPY(&pReq->Create.StrPath, path, SHFLSTRING_HEADER_SIZE + path->u16Size);
+            RT_BCOPY_UNFORTIFIED(&pReq->Create.StrPath, path, SHFLSTRING_HEADER_SIZE + path->u16Size);
             RT_ZERO(pReq->Create.CreateParms);
             pReq->Create.CreateParms.Handle                  = SHFL_HANDLE_NIL;
@@ -1131,5 +1131,5 @@
                                                                        + path->u16Size);
         if (pReq) {
-            VBSF_UNFORTIFIED_MEMCPY(&pReq->StrPath, path, SHFLSTRING_HEADER_SIZE + path->u16Size);
+            RT_BCOPY_UNFORTIFIED(&pReq->StrPath, path, SHFLSTRING_HEADER_SIZE + path->u16Size);
             uint32_t fFlags = fDirectory ? SHFL_REMOVE_DIR : SHFL_REMOVE_FILE;
             if (dentry->d_inode && ((dentry->d_inode->i_mode & S_IFLNK) == S_IFLNK))
@@ -1251,5 +1251,5 @@
                     PSHFLSTRING             pOldPath = sf_file_i->path;
 
-                    VBSF_UNFORTIFIED_MEMCPY(&pReq->StrDstPath, pNewPath, SHFLSTRING_HEADER_SIZE + pNewPath->u16Size);
+                    RT_BCOPY_UNFORTIFIED(&pReq->StrDstPath, pNewPath, SHFLSTRING_HEADER_SIZE + pNewPath->u16Size);
                     rc = VbglR0SfHostReqRenameWithSrcContig(pSuperInfo->map.root, pReq, pOldPath, virt_to_phys(pOldPath), fRename);
                     VbglR0PhysHeapFree(pReq);
@@ -1352,5 +1352,5 @@
             if (pReq) {
                 RT_ZERO(*pReq);
-                VBSF_UNFORTIFIED_MEMCPY(&pReq->StrSymlinkPath, pPath, SHFLSTRING_HEADER_SIZE + pPath->u16Size);
+                RT_BCOPY_UNFORTIFIED(&pReq->StrSymlinkPath, pPath, SHFLSTRING_HEADER_SIZE + pPath->u16Size);
 
                 rc = VbglR0SfHostReqCreateSymlinkContig(pSuperInfo->map.root, pTarget, virt_to_phys(pTarget), pReq);
Index: trunk/src/VBox/Additions/linux/sharedfolders/regops.c
===================================================================
--- trunk/src/VBox/Additions/linux/sharedfolders/regops.c	(revision 101081)
+++ trunk/src/VBox/Additions/linux/sharedfolders/regops.c	(revision 101359)
@@ -3094,5 +3094,5 @@
         return -ENOMEM;
     }
-    VBSF_UNFORTIFIED_MEMCPY(&pReq->StrPath, sf_i->path, SHFLSTRING_HEADER_SIZE + sf_i->path->u16Size);
+    RT_BCOPY_UNFORTIFIED(&pReq->StrPath, sf_i->path, SHFLSTRING_HEADER_SIZE + sf_i->path->u16Size);
     RT_ZERO(pReq->CreateParms);
     pReq->CreateParms.Handle = SHFL_HANDLE_NIL;
Index: trunk/src/VBox/Additions/linux/sharedfolders/utils.c
===================================================================
--- trunk/src/VBox/Additions/linux/sharedfolders/utils.c	(revision 101081)
+++ trunk/src/VBox/Additions/linux/sharedfolders/utils.c	(revision 101359)
@@ -193,5 +193,5 @@
                 pString->u16Length = (uint16_t)cchNls;
                 pString->u16Size   = (uint16_t)(cchNls + 1);
-                VBSF_UNFORTIFIED_MEMCPY(pString->String.ach, pszNls, cchNls);
+                RT_BCOPY_UNFORTIFIED(pString->String.ach, pszNls, cchNls);
                 pString->String.ach[cchNls] = '\0';
                 rc = 0;
@@ -518,5 +518,5 @@
     if (pReq) {
         RT_ZERO(*pReq);
-        VBSF_UNFORTIFIED_MEMCPY(&pReq->StrPath, path, SHFLSTRING_HEADER_SIZE + path->u16Size);
+        RT_BCOPY_UNFORTIFIED(&pReq->StrPath, path, SHFLSTRING_HEADER_SIZE + path->u16Size);
         pReq->CreateParms.Handle = SHFL_HANDLE_NIL;
         pReq->CreateParms.CreateFlags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW;
@@ -604,5 +604,5 @@
                 if (pReq) {
                     RT_ZERO(*pReq);
-                    VBSF_UNFORTIFIED_MEMCPY(&pReq->StrPath, pPath, SHFLSTRING_HEADER_SIZE + pPath->u16Size);
+                    RT_BCOPY_UNFORTIFIED(&pReq->StrPath, pPath, SHFLSTRING_HEADER_SIZE + pPath->u16Size);
                     pReq->CreateParms.Handle      = SHFL_HANDLE_NIL;
                     pReq->CreateParms.CreateFlags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW;
@@ -907,5 +907,5 @@
                     if (fAttrs & ATTR_SIZE)
                         pReq->Create.CreateParms.CreateFlags |= SHFL_CF_ACCESS_WRITE;
-                    VBSF_UNFORTIFIED_MEMCPY(&pReq->Create.StrPath, sf_i->path, SHFLSTRING_HEADER_SIZE + sf_i->path->u16Size);
+                    RT_BCOPY_UNFORTIFIED(&pReq->Create.StrPath, sf_i->path, SHFLSTRING_HEADER_SIZE + sf_i->path->u16Size);
                     vrc = VbglR0SfHostReqCreate(pSuperInfo->map.root, &pReq->Create);
                     if (RT_SUCCESS(vrc)) {
@@ -1045,9 +1045,9 @@
 
     if (fRoot)
-        VBSF_UNFORTIFIED_MEMCPY(&tmp->String.utf8[0], d_name, d_len + 1);
+        RT_BCOPY_UNFORTIFIED(&tmp->String.utf8[0], d_name, d_len + 1);
     else {
-        VBSF_UNFORTIFIED_MEMCPY(&tmp->String.utf8[0], p_name, p_len);
+        RT_BCOPY_UNFORTIFIED(&tmp->String.utf8[0], p_name, p_len);
         tmp->String.utf8[p_len] = '/';
-        VBSF_UNFORTIFIED_MEMCPY(&tmp->String.utf8[p_len + 1], d_name, d_len);
+        RT_BCOPY_UNFORTIFIED(&tmp->String.utf8[p_len + 1], d_name, d_len);
         tmp->String.utf8[p_len + 1 + d_len] = '\0';
     }
Index: trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.c
===================================================================
--- trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.c	(revision 101081)
+++ trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.c	(revision 101359)
@@ -119,5 +119,5 @@
     if ((unsigned)info->length >= RT_UOFFSETOF(struct vbsf_mount_info_new, cMaxIoPages)) {
         AssertCompile(sizeof(pSuperInfo->szTag) >= sizeof(info->szTag));
-        VBSF_UNFORTIFIED_MEMCPY(pSuperInfo->szTag, info->szTag, sizeof(info->szTag));
+        RT_BCOPY_UNFORTIFIED(pSuperInfo->szTag, info->szTag, sizeof(info->szTag));
         pSuperInfo->szTag[sizeof(pSuperInfo->szTag) - 1] = '\0';
     } else {
@@ -243,5 +243,5 @@
         str_name->u16Length = name_len;
         str_name->u16Size = name_len + 1;
-        VBSF_UNFORTIFIED_MEMCPY(str_name->String.utf8, info->name, name_len + 1);
+        RT_BCOPY_UNFORTIFIED(str_name->String.utf8, info->name, name_len + 1);
 
         /*
@@ -1490,5 +1490,5 @@
     if (data) {
         if (VBSF_IS_MOUNT_VBOXSF_DATA(data)) {
-            VBSF_UNFORTIFIED_MEMCPY(info, data, sizeof(struct vbsf_mount_info_new));
+            RT_BCOPY_UNFORTIFIED(info, data, sizeof(struct vbsf_mount_info_new));
         } else {
             /* this will call vbsf_parse_param() */
Index: trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.h
===================================================================
--- trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.h	(revision 101081)
+++ trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.h	(revision 101359)
@@ -77,24 +77,4 @@
 # define SFLOG_ENABLED          1
 # define SFLOGRELBOTH(aArgs)    do { RTLogBackdoorPrintf aArgs; printk aArgs; } while (0)
-#endif
-
-
-/** Similar workaround for CONFIG_FORTIFY_SOURCE kernel config option as we
- * have in the host drivers.
- *
- * In Linux 5.18-rc1, memcpy became a wrapper which does fortify checks before
- * making a call to __underlying_memcpy().  There are a number of places where
- * we trigger the "field-spanning write" fortify check, typically when copying
- * to SHFLSTRING structure members as these are actually of variable length but
- * we don't (cannot with gcc) use RT_FLEXIBLE_ARRAY_NESTED.
- *
- * Use this when copying to structures or members with a variable length member.
- *
- * @see @ticketref{21410}, @bugref{10209}
- */
-#if RTLNX_VER_MIN(5,18,0) && !defined(__NO_FORTIFY) && defined(__OPTIMIZE__) && defined(CONFIG_FORTIFY_SOURCE)
-# define VBSF_UNFORTIFIED_MEMCPY __underlying_memcpy
-#else
-# define VBSF_UNFORTIFIED_MEMCPY memcpy
 #endif
 
