View Issue Details

IDProjectCategoryView StatusLast Update
0001401channel: elrepo/el9kmod-ecryptfspublic2023-11-12 12:00
Reportertoracat Assigned Topperry  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Summary0001401: Build kmod-ecryptfs for EL 9.3
DescriptionAn attempt to build kmod-ecryptfs using the source code from the 9.3 GA kernel fails with errors.
TagsNo tags attached.

Activities

pperry

2023-11-11 10:28

administrator   ~0009416

/home/phil/rpmbuild/BUILD/ecryptfs-0.2/mmap.c:552:10: error: 'const struct address_space_operations' has no member named 'readpage'
  552 | .readpage = ecryptfs_readpage,
      | ^~~~~~~~
/home/phil/rpmbuild/BUILD/ecryptfs-0.2/mmap.c:552:21: error: initialization of 'int (*)(struct file *, struct folio *)' from incompatible pointer type 'int (*)(struct file *, struct page *)' [-Werror=incompatible-pointer-types]
  552 | .readpage = ecryptfs_readpage,
      | ^~~~~~~~~~~~~~~~~
/home/phil/rpmbuild/BUILD/ecryptfs-0.2/mmap.c:552:21: note: (near initialization for 'ecryptfs_aops.read_folio')
cc1: some warnings being treated as errors

pperry

2023-11-11 14:03

administrator   ~0009419

Packages built and released to the testing repo:

kmod-ecryptfs-0.2-4.el9_3.elrepo.src.rpm
kmod-ecryptfs-0.2-4.el9_3.elrepo.x86_64.rpm

pperry

2023-11-12 12:00

administrator   ~0009422

Patch atached
elrepo-ecryptfs-convert_to_read_folio.el9_3.patch (1,222 bytes)   
diff -Naurp ecryptfs-0.2.orig/mmap.c ecryptfs-0.2/mmap.c
--- ecryptfs-0.2.orig/mmap.c	2023-10-03 13:09:50.000000000 +0100
+++ ecryptfs-0.2/mmap.c	2023-11-11 16:33:52.044540646 +0000
@@ -170,16 +170,17 @@ out:
 }
 
 /**
- * ecryptfs_readpage
+ * ecryptfs_read_folio
  * @file: An eCryptfs file
- * @page: Page from eCryptfs inode mapping into which to stick the read data
+ * @folio: Folio from eCryptfs inode mapping into which to stick the read data
  *
- * Read in a page, decrypting if necessary.
+ * Read in a folio, decrypting if necessary.
  *
  * Returns zero on success; non-zero on error.
  */
-static int ecryptfs_readpage(struct file *file, struct page *page)
+static int ecryptfs_read_folio(struct file *file, struct folio *folio)
 {
+	struct page *page = &folio->page;
 	struct ecryptfs_crypt_stat *crypt_stat =
 		&ecryptfs_inode_to_private(page->mapping->host)->crypt_stat;
 	int rc = 0;
@@ -549,7 +550,7 @@ const struct address_space_operations ec
 	.invalidate_folio = block_invalidate_folio,
 #endif
 	.writepage = ecryptfs_writepage,
-	.readpage = ecryptfs_readpage,
+	.read_folio = ecryptfs_read_folio,
 	.write_begin = ecryptfs_write_begin,
 	.write_end = ecryptfs_write_end,
 	.bmap = ecryptfs_bmap,

Issue History

Date Modified Username Field Change
2023-11-09 19:59 toracat New Issue
2023-11-09 19:59 toracat Status new => assigned
2023-11-09 19:59 toracat Assigned To => pperry
2023-11-11 10:28 pperry Note Added: 0009416
2023-11-11 14:03 pperry Note Added: 0009419
2023-11-11 14:04 pperry Status assigned => resolved
2023-11-11 14:04 pperry Resolution open => fixed
2023-11-12 12:00 pperry Note Added: 0009422
2023-11-12 12:00 pperry File Added: elrepo-ecryptfs-convert_to_read_folio.el9_3.patch