Code:
	diff -u -r parallels-tools-17.1.7.51588.orig/kmods/prl_eth/pvmnet/pvmnet.c parallels-tools-17.1.7.51588/kmods/prl_eth/pvmnet/pvmnet.c
--- parallels-tools-17.1.7.51588.orig/kmods/prl_eth/pvmnet/pvmnet.c     2023-08-27 16:09:33.534056800 +0100
+++ parallels-tools-17.1.7.51588/kmods/prl_eth/pvmnet/pvmnet.c  2023-08-27 16:07:29.120106527 +0100
@@ -419,9 +419,11 @@
     RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(8, 0)
        .extended.ndo_change_mtu = eth_change_mtu,
 #else
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,14,0)
        .ndo_change_mtu = eth_change_mtu,
 #endif
 #endif
+#endif
 };
 #endif
diff -u -r parallels-tools-17.1.7.51588.orig/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c parallels-tools-17.1.7.51588/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c
--- parallels-tools-17.1.7.51588.orig/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c     2023-08-27 16:09:33.539056597 +0100
+++ parallels-tools-17.1.7.51588/kmods/prl_fs/SharedFolders/Guest/Linux/prl_fs/inode.c  2023-08-27 16:07:29.118106608 +0100
@@ -16,6 +16,9 @@
 #include <linux/pagemap.h>
 #include <linux/namei.h>
 #include <linux/cred.h>
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0))
+#include <linux/writeback.h>
+#endif
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 40)) && \
     (LINUX_VERSION_CODE < KERNEL_VERSION(3, 0, 0))
@@ -56,7 +59,9 @@
        return (unsigned long *)&(de->d_fsdata);
 }
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0)
+#define prl_uaccess_kernel() (false)
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
 #define prl_uaccess_kernel() uaccess_kernel()
 #else
 #define prl_uaccess_kernel() segment_eq(get_fs(), KERNEL_DS)
@@ -954,7 +959,11 @@
        .writepage              = prlfs_writepage,
        .write_begin    = simple_write_begin,
        .write_end      = prlfs_write_end,
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
+        .dirty_folio    = filemap_dirty_folio,
+#else
        .set_page_dirty = __set_page_dirty_nobuffers,
+#endif
 };
diff -u -r parallels-tools-17.1.7.51588.orig/kmods/prl_fs/Toolgate/Guest/Linux/prl_tg/prltg.c parallels-tools-17.1.7.51588/kmods/prl_fs/Toolgate/Guest/Linux/prl_tg/prltg.c
--- parallels-tools-17.1.7.51588.orig/kmods/prl_fs/Toolgate/Guest/Linux/prl_tg/prltg.c  2023-08-27 16:09:33.536056719 +0100
+++ parallels-tools-17.1.7.51588/kmods/prl_fs/Toolgate/Guest/Linux/prl_tg/prltg.c       2023-08-27 16:07:29.124106365 +0100
@@ -249,7 +249,7 @@
        size_t nbytes, loff_t *ppos)
 {
        int ret = 0;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,17,0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
        struct tg_dev *dev = pde_data(FILE_DENTRY(filp)->d_inode);
 #else
        struct tg_dev *dev = PDE_DATA(FILE_DENTRY(filp)->d_inode);
diff -u -r parallels-tools-17.1.7.51588.orig/kmods/prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c parallels-tools-17.1.7.51588/kmods/prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c
--- parallels-tools-17.1.7.51588.orig/kmods/prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c       2023-08-27 16:09:33.535056760 +0100
+++ parallels-tools-17.1.7.51588/kmods/prl_fs_freeze/Snapshot/Guest/Linux/prl_freeze/prl_fs_freeze.c    2023-08-27 16:07:29.122106446 +0100
@@ -328,7 +328,11 @@
        char buf[BDEVNAME_SIZE];
        fsb = list_entry((struct list_head*)data, struct frozen_sb, list);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,14,0)
+       snprintf(buf, sizeof(buf), "%pg", fsb->sb->s_bdev);
+#else
        bdevname(fsb->sb->s_bdev, buf);
+#endif
        seq_printf(file, "%s\n", buf);
        return 0;
 }
 I got the fix for the removed