public inbox for linux-next@vger.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: Eric Biggers <ebiggers@kernel.org>,
	"Theodore Y. Ts'o" <tytso@mit.edu>,
	Jaegeuk Kim <jaegeuk@kernel.org>, Chao Yu <chao@kernel.org>,
	Christoph Hellwig <hch@lst.de>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>
Subject: linux-next: build failure after merge of the fsverity tree
Date: Tue, 3 Feb 2026 13:36:34 +0000	[thread overview]
Message-ID: <aYH54qJee85qLLkN@sirena.org.uk> (raw)

[-- Attachment #1: Type: text/plain, Size: 7576 bytes --]

Hi all,

After merging the fsverity tree, today's linux-next build (x86_64
allmodconfig) failed like this:

/tmp/next/build/fs/f2fs/data.c: In function 'f2fs_read_data_large_folio':
/tmp/next/build/fs/f2fs/data.c:2525:51: error: passing argument 1 of 'fsverity_verify_page' from incompatible pointer type [-Wincompatible-pointer-types]
 2525 |                             !fsverity_verify_page(folio_file_page(folio,
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   struct page *
 2526 |                                                                 index))) {
      |                                                                 ~~~~~~
In file included from /tmp/next/build/fs/f2fs/f2fs.h:29,
                 from /tmp/next/build/fs/f2fs/data.c:24:
/tmp/next/build/include/linux/fsverity.h:285:63: note: expected 'struct fsverity_info *' but argument is of type 'struct page *'
  285 | static inline bool fsverity_verify_page(struct fsverity_info *vi,
      |                                         ~~~~~~~~~~~~~~~~~~~~~~^~
/tmp/next/build/fs/f2fs/data.c:2525:30: error: too few arguments to function 'fsverity_verify_page'
 2525 |                             !fsverity_verify_page(folio_file_page(folio,
      |                              ^~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/fsverity.h:285:20: note: declared here
  285 | static inline bool fsverity_verify_page(struct fsverity_info *vi,
      |                    ^~~~~~~~~~~~~~~~~~~~
/tmp/next/build/fs/f2fs/data.c:2557:57: error: passing argument 2 of 'f2fs_grab_read_bio' makes pointer from integer without a cast [-Wint-conversion]
 2557 |                         bio = f2fs_grab_read_bio(inode, block_nr,
      |                                                         ^~~~~~~~
      |                                                         |
      |                                                         sector_t {aka long long unsigned int}
/tmp/next/build/fs/f2fs/data.c:1100:61: note: expected 'struct fsverity_info *' but argument is of type 'sector_t' {aka 'long long unsigned int'}
 1100 |                                       struct fsverity_info *vi, block_t blkaddr,
      |                                       ~~~~~~~~~~~~~~~~~~~~~~^~
/tmp/next/build/fs/f2fs/data.c:2557:31: error: too few arguments to function 'f2fs_grab_read_bio'
 2557 |                         bio = f2fs_grab_read_bio(inode, block_nr,
      |                               ^~~~~~~~~~~~~~~~~~
/tmp/next/build/fs/f2fs/data.c:1099:20: note: declared here
 1099 | static struct bio *f2fs_grab_read_bio(struct inode *inode,
      |                    ^~~~~~~~~~~~~~~~~~

Caused by commit

   3428cd0a9498a (f2fs: consolidate fsverity_info lookup)

interacting with

   05e65c14ea59 (f2fs: support large folio for immutable non-compressed case)

I have (hopefully) fixed it up, see below, and can carry as needed.

From a954b589f2aa0da3f2522dbeaf342966190a4139 Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Tue, 3 Feb 2026 13:19:22 +0000
Subject: [PATCH] f2fs: Fix interaction with fsverity changes

/tmp/next/build/fs/f2fs/data.c: In function 'f2fs_read_data_large_folio':
/tmp/next/build/fs/f2fs/data.c:2525:51: error: passing argument 1 of 'fsverity_verify_page' from incompatible pointer type [-Wincompatible-pointer-types]
 2525 |                             !fsverity_verify_page(folio_file_page(folio,
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~
      |                                                   |
      |                                                   struct page *
 2526 |                                                                 index))) {
      |                                                                 ~~~~~~
In file included from /tmp/next/build/fs/f2fs/f2fs.h:29,
                 from /tmp/next/build/fs/f2fs/data.c:24:
/tmp/next/build/include/linux/fsverity.h:285:63: note: expected 'struct fsverity_info *' but argument is of type 'struct page *'
  285 | static inline bool fsverity_verify_page(struct fsverity_info *vi,
      |                                         ~~~~~~~~~~~~~~~~~~~~~~^~
/tmp/next/build/fs/f2fs/data.c:2525:30: error: too few arguments to function 'fsverity_verify_page'
 2525 |                             !fsverity_verify_page(folio_file_page(folio,
      |                              ^~~~~~~~~~~~~~~~~~~~
/tmp/next/build/include/linux/fsverity.h:285:20: note: declared here
  285 | static inline bool fsverity_verify_page(struct fsverity_info *vi,
      |                    ^~~~~~~~~~~~~~~~~~~~
/tmp/next/build/fs/f2fs/data.c:2557:57: error: passing argument 2 of 'f2fs_grab_read_bio' makes pointer from integer without a cast [-Wint-conversion]
 2557 |                         bio = f2fs_grab_read_bio(inode, block_nr,
      |                                                         ^~~~~~~~
      |                                                         |
      |                                                         sector_t {aka long long unsigned int}
/tmp/next/build/fs/f2fs/data.c:1100:61: note: expected 'struct fsverity_info *' but argument is of type 'sector_t' {aka 'long long unsigned int'}
 1100 |                                       struct fsverity_info *vi, block_t blkaddr,
      |                                       ~~~~~~~~~~~~~~~~~~~~~~^~
/tmp/next/build/fs/f2fs/data.c:2557:31: error: too few arguments to function 'f2fs_grab_read_bio'
 2557 |                         bio = f2fs_grab_read_bio(inode, block_nr,
      |                               ^~~~~~~~~~~~~~~~~~
/tmp/next/build/fs/f2fs/data.c:1099:20: note: declared here
 1099 | static struct bio *f2fs_grab_read_bio(struct inode *inode,
      |                    ^~~~~~~~~~~~~~~~~~

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 fs/f2fs/data.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index d9085d1236d97..46b4f70f8faf5 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -2451,6 +2451,7 @@ static void ffs_detach_free(struct folio *folio)
 }
 
 static int f2fs_read_data_large_folio(struct inode *inode,
+		struct fsverity_info *vi,
 		struct readahead_control *rac, struct folio *folio)
 {
 	struct bio *bio = NULL;
@@ -2522,7 +2523,7 @@ static int f2fs_read_data_large_folio(struct inode *inode,
 		} else {
 			folio_zero_range(folio, offset << PAGE_SHIFT, PAGE_SIZE);
 			if (f2fs_need_verity(inode, index) &&
-			    !fsverity_verify_page(folio_file_page(folio,
+			    !fsverity_verify_page(vi, folio_file_page(folio,
 								index))) {
 				ret = -EIO;
 				goto err_out;
@@ -2554,7 +2555,7 @@ static int f2fs_read_data_large_folio(struct inode *inode,
 			bio = NULL;
 		}
 		if (bio == NULL)
-			bio = f2fs_grab_read_bio(inode, block_nr,
+			bio = f2fs_grab_read_bio(inode, vi, block_nr,
 					max_nr_pages,
 					f2fs_ra_op_flags(rac),
 					index, false);
@@ -2629,7 +2630,7 @@ static int f2fs_mpage_readpages(struct inode *inode, struct fsverity_info *vi,
 	int ret = 0;
 
 	if (mapping_large_folio_support(mapping))
-		return f2fs_read_data_large_folio(inode, rac, folio);
+		return f2fs_read_data_large_folio(inode, vi, rac, folio);
 
 #ifdef CONFIG_F2FS_FS_COMPRESSION
 	if (f2fs_compressed_file(inode)) {
-- 
2.47.3


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

             reply	other threads:[~2026-02-03 13:36 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-03 13:36 Mark Brown [this message]
2026-02-03 16:29 ` linux-next: build failure after merge of the fsverity tree Christoph Hellwig
2026-02-03 17:02   ` Mark Brown
2026-02-04 17:39 ` kernel test robot
2026-02-04 17:39 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aYH54qJee85qLLkN@sirena.org.uk \
    --to=broonie@kernel.org \
    --cc=chao@kernel.org \
    --cc=ebiggers@kernel.org \
    --cc=hch@lst.de \
    --cc=jaegeuk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox