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