All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fs/ufs: Replace kmap() with kmap_local_page()
@ 2022-05-08 20:07 Fabio M. De Francesco
  2022-05-08 23:44 ` kernel test robot
  2022-05-09  0:25 ` kernel test robot
  0 siblings, 2 replies; 9+ messages in thread
From: Fabio M. De Francesco @ 2022-05-08 20:07 UTC (permalink / raw)
  To: Evgeniy Dushistov, Ira Weiny, linux-kernel; +Cc: Fabio M. De Francesco

The use of kmap() is being deprecated in favor of kmap_local_page(). With
kmap_local_page(), the mapping is per thread, CPU local and not globally
visible.

The usage of kmap_local_page() in fs/ufs is pre-thread, therefore replace
kmap() / kunmap() calls with kmap_local_page() / kunmap_local().

kunmap_local() requires the mapping address, so return that address from
ufs_get_page() to be used in ufs_put_page().

These changes are essentially ported from fs/ext2 and relie largely on
commit 782b76d7abdf ("fs/ext2: Replace kmap() with kmap_local_page()").

Suggested-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
---
 fs/ufs/dir.c   | 116 +++++++++++++++++++++++++++++++------------------
 fs/ufs/namei.c |  38 ++++++++--------
 fs/ufs/ufs.h   |  12 +++--
 3 files changed, 102 insertions(+), 64 deletions(-)

diff --git a/fs/ufs/dir.c b/fs/ufs/dir.c
index b721d0bda5e5..39e81547ebb9 100644
--- a/fs/ufs/dir.c
+++ b/fs/ufs/dir.c
@@ -61,9 +61,9 @@ static int ufs_commit_chunk(struct page *page, loff_t pos, unsigned len)
 	return err;
 }
 
-static inline void ufs_put_page(struct page *page)
+inline void ufs_put_page(struct page *page, void *page_addr)
 {
-	kunmap(page);
+	kunmap_local(page_addr);
 	put_page(page);
 }
 
@@ -72,11 +72,12 @@ ino_t ufs_inode_by_name(struct inode *dir, const struct qstr *qstr)
 	ino_t res = 0;
 	struct ufs_dir_entry *de;
 	struct page *page;
-	
-	de = ufs_find_entry(dir, qstr, &page);
+	void *page_addr;
+
+	de = ufs_find_entry(dir, qstr, &page, &page_addr);
 	if (de) {
 		res = fs32_to_cpu(dir->i_sb, de->d_ino);
-		ufs_put_page(page);
+		ufs_put_page(page, page_addr);
 	}
 	return res;
 }
@@ -84,11 +85,11 @@ ino_t ufs_inode_by_name(struct inode *dir, const struct qstr *qstr)
 
 /* Releases the page */
 void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
-		  struct page *page, struct inode *inode,
-		  bool update_times)
+		  struct page *page, void *page_addr,
+		  struct inode *inode, bool update_times)
 {
 	loff_t pos = page_offset(page) +
-			(char *) de - (char *) page_address(page);
+			(char *)de - (char *)page_addr;
 	unsigned len = fs16_to_cpu(dir->i_sb, de->d_reclen);
 	int err;
 
@@ -100,18 +101,17 @@ void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
 	ufs_set_de_type(dir->i_sb, de, inode->i_mode);
 
 	err = ufs_commit_chunk(page, pos, len);
-	ufs_put_page(page);
+	ufs_put_page(page, page_addr);
 	if (update_times)
 		dir->i_mtime = dir->i_ctime = current_time(dir);
 	mark_inode_dirty(dir);
 }
 
 
-static bool ufs_check_page(struct page *page)
+static bool ufs_check_page(struct page *page, char *kaddr)
 {
 	struct inode *dir = page->mapping->host;
 	struct super_block *sb = dir->i_sb;
-	char *kaddr = page_address(page);
 	unsigned offs, rec_len;
 	unsigned limit = PAGE_SIZE;
 	const unsigned chunk_mask = UFS_SB(sb)->s_uspi->s_dirblksize - 1;
@@ -186,21 +186,28 @@ static bool ufs_check_page(struct page *page)
 	return false;
 }
 
-static struct page *ufs_get_page(struct inode *dir, unsigned long n)
+/*
+ * Calls to ufs_get_page()/ufs_put_page() must be nested according to the
+ * rules documented in kmap_local_page()/kunmap_local().
+ *
+ * NOTE: ufs_find_entry() and ufs_dotdot() act as calls to ufs_get_page()
+ * and must be treated accordingly for nesting purposes.
+ */
+static struct page *ufs_get_page(struct inode *dir, unsigned long n, void **page_addr)
 {
 	struct address_space *mapping = dir->i_mapping;
 	struct page *page = read_mapping_page(mapping, n, NULL);
 	if (!IS_ERR(page)) {
-		kmap(page);
+		*page_addr = kmap_local_page(page);
 		if (unlikely(!PageChecked(page))) {
-			if (PageError(page) || !ufs_check_page(page))
+			if (PageError(page) || !ufs_check_page(page, *page_addr))
 				goto fail;
 		}
 	}
 	return page;
 
 fail:
-	ufs_put_page(page);
+	ufs_put_page(page, *page_addr);
 	return ERR_PTR(-EIO);
 }
 
@@ -226,15 +233,29 @@ ufs_next_entry(struct super_block *sb, struct ufs_dir_entry *p)
 					fs16_to_cpu(sb, p->d_reclen));
 }
 
-struct ufs_dir_entry *ufs_dotdot(struct inode *dir, struct page **p)
+/*
+ * Return the '..' directory entry and the page in which the entry was found
+ * (as a parameter - p).
+ *
+ * On Success ufs_put_page() should be called on *p.
+ *
+ * NOTE: Calls to ufs_get_page()/ufs_put_page() must be nested according to
+ * the rules documented in kmap_local_page()/kunmap_local().
+ *
+ * ufs_find_entry() and ufs_dotdot() act as calls to ufs_get_page() and
+ * must be treated accordingly for nesting purposes.
+ */
+struct ufs_dir_entry *ufs_dotdot(struct inode *dir, struct page **p, void **pa)
 {
-	struct page *page = ufs_get_page(dir, 0);
+	void *page_addr;
+	struct page *page = ufs_get_page(dir, 0, &page_addr);
 	struct ufs_dir_entry *de = NULL;
 
 	if (!IS_ERR(page)) {
 		de = ufs_next_entry(dir->i_sb,
-				    (struct ufs_dir_entry *)page_address(page));
+				    (struct ufs_dir_entry *)page_addr);
 		*p = page;
+		*pa = page_addr;
 	}
 	return de;
 }
@@ -246,9 +267,17 @@ struct ufs_dir_entry *ufs_dotdot(struct inode *dir, struct page **p)
  * returns the page in which the entry was found, and the entry itself
  * (as a parameter - res_dir). Page is returned mapped and unlocked.
  * Entry is guaranteed to be valid.
+ *
+ * On Success ufs_put_page() should be called on *res_page.
+ *
+ * NOTE: Calls to ufs_get_page()/ufs_put_page() must be nested according to
+ * the rules documented in kmap_local_page()/kunmap_local().
+ *
+ * ufs_find_entry() and ufs_dotdot() act as calls to ufs_get_page() and
+ * must be treated accordingly for nesting purposes.
  */
 struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr,
-				     struct page **res_page)
+				     struct page **res_page, void **res_page_addr)
 {
 	struct super_block *sb = dir->i_sb;
 	const unsigned char *name = qstr->name;
@@ -259,6 +288,7 @@ struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr,
 	struct page *page = NULL;
 	struct ufs_inode_info *ui = UFS_I(dir);
 	struct ufs_dir_entry *de;
+	void *page_addr;
 
 	UFSD("ENTER, dir_ino %lu, name %s, namlen %u\n", dir->i_ino, name, namelen);
 
@@ -267,6 +297,7 @@ struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr,
 
 	/* OFFSET_CACHE */
 	*res_page = NULL;
+	*res_page_addr = NULL;
 
 	start = ui->i_dir_start_lookup;
 
@@ -275,9 +306,10 @@ struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr,
 	n = start;
 	do {
 		char *kaddr;
-		page = ufs_get_page(dir, n);
+
+		page = ufs_get_page(dir, n, &page_addr);
 		if (!IS_ERR(page)) {
-			kaddr = page_address(page);
+			kaddr = page_addr;
 			de = (struct ufs_dir_entry *) kaddr;
 			kaddr += ufs_last_byte(dir, n) - reclen;
 			while ((char *) de <= kaddr) {
@@ -285,7 +317,7 @@ struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr,
 					goto found;
 				de = ufs_next_entry(sb, de);
 			}
-			ufs_put_page(page);
+			ufs_put_page(page, page_addr);
 		}
 		if (++n >= npages)
 			n = 0;
@@ -295,6 +327,7 @@ struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr,
 
 found:
 	*res_page = page;
+	*res_page_addr = page_addr;
 	ui->i_dir_start_lookup = n;
 	return de;
 }
@@ -312,6 +345,7 @@ int ufs_add_link(struct dentry *dentry, struct inode *inode)
 	const unsigned int chunk_size = UFS_SB(sb)->s_uspi->s_dirblksize;
 	unsigned short rec_len, name_len;
 	struct page *page = NULL;
+	void *page_addr = NULL;
 	struct ufs_dir_entry *de;
 	unsigned long npages = dir_pages(dir);
 	unsigned long n;
@@ -329,12 +363,12 @@ int ufs_add_link(struct dentry *dentry, struct inode *inode)
 	for (n = 0; n <= npages; n++) {
 		char *dir_end;
 
-		page = ufs_get_page(dir, n);
+		page = ufs_get_page(dir, n, &page_addr);
 		err = PTR_ERR(page);
 		if (IS_ERR(page))
 			goto out;
 		lock_page(page);
-		kaddr = page_address(page);
+		kaddr = page_addr;
 		dir_end = kaddr + ufs_last_byte(dir, n);
 		de = (struct ufs_dir_entry *)kaddr;
 		kaddr += PAGE_SIZE - reclen;
@@ -365,14 +399,14 @@ int ufs_add_link(struct dentry *dentry, struct inode *inode)
 			de = (struct ufs_dir_entry *) ((char *) de + rec_len);
 		}
 		unlock_page(page);
-		ufs_put_page(page);
+		ufs_put_page(page, page_addr);
 	}
 	BUG();
 	return -EINVAL;
 
 got_it:
 	pos = page_offset(page) +
-			(char*)de - (char*)page_address(page);
+			(char *)de - (char *)page_addr;
 	err = ufs_prepare_chunk(page, pos, rec_len);
 	if (err)
 		goto out_unlock;
@@ -396,7 +430,7 @@ int ufs_add_link(struct dentry *dentry, struct inode *inode)
 	mark_inode_dirty(dir);
 	/* OFFSET_CACHE */
 out_put:
-	ufs_put_page(page);
+	ufs_put_page(page, page_addr);
 out:
 	return err;
 out_unlock:
@@ -441,7 +475,7 @@ ufs_readdir(struct file *file, struct dir_context *ctx)
 		char *kaddr, *limit;
 		struct ufs_dir_entry *de;
 
-		struct page *page = ufs_get_page(inode, n);
+		struct page *page = ufs_get_page(inode, n, (void **)&kaddr);
 
 		if (IS_ERR(page)) {
 			ufs_error(sb, __func__,
@@ -450,7 +484,6 @@ ufs_readdir(struct file *file, struct dir_context *ctx)
 			ctx->pos += PAGE_SIZE - offset;
 			return -EIO;
 		}
-		kaddr = page_address(page);
 		if (unlikely(need_revalidate)) {
 			if (offset) {
 				offset = ufs_validate_entry(sb, kaddr, offset, chunk_mask);
@@ -476,13 +509,13 @@ ufs_readdir(struct file *file, struct dir_context *ctx)
 					       ufs_get_de_namlen(sb, de),
 					       fs32_to_cpu(sb, de->d_ino),
 					       d_type)) {
-					ufs_put_page(page);
+					ufs_put_page(page, kaddr);
 					return 0;
 				}
 			}
 			ctx->pos += fs16_to_cpu(sb, de->d_reclen);
 		}
-		ufs_put_page(page);
+		ufs_put_page(page, kaddr);
 	}
 	return 0;
 }
@@ -493,10 +526,9 @@ ufs_readdir(struct file *file, struct dir_context *ctx)
  * previous entry.
  */
 int ufs_delete_entry(struct inode *inode, struct ufs_dir_entry *dir,
-		     struct page * page)
+		     struct page *page, char *kaddr)
 {
 	struct super_block *sb = inode->i_sb;
-	char *kaddr = page_address(page);
 	unsigned from = ((char*)dir - kaddr) & ~(UFS_SB(sb)->s_uspi->s_dirblksize - 1);
 	unsigned to = ((char*)dir - kaddr) + fs16_to_cpu(sb, dir->d_reclen);
 	loff_t pos;
@@ -522,7 +554,7 @@ int ufs_delete_entry(struct inode *inode, struct ufs_dir_entry *dir,
 		de = ufs_next_entry(sb, de);
 	}
 	if (pde)
-		from = (char*)pde - (char*)page_address(page);
+		from = (char *)pde - kaddr;
 
 	pos = page_offset(page) + from;
 	lock_page(page);
@@ -535,7 +567,7 @@ int ufs_delete_entry(struct inode *inode, struct ufs_dir_entry *dir,
 	inode->i_ctime = inode->i_mtime = current_time(inode);
 	mark_inode_dirty(inode);
 out:
-	ufs_put_page(page);
+	ufs_put_page(page, kaddr);
 	UFSD("EXIT\n");
 	return err;
 }
@@ -559,8 +591,7 @@ int ufs_make_empty(struct inode * inode, struct inode *dir)
 		goto fail;
 	}
 
-	kmap(page);
-	base = (char*)page_address(page);
+	base = kmap_local_page(page);
 	memset(base, 0, PAGE_SIZE);
 
 	de = (struct ufs_dir_entry *) base;
@@ -577,7 +608,7 @@ int ufs_make_empty(struct inode * inode, struct inode *dir)
 	de->d_reclen = cpu_to_fs16(sb, chunk_size - UFS_DIR_REC_LEN(1));
 	ufs_set_de_namlen(sb, de, 2);
 	strcpy (de->d_name, "..");
-	kunmap(page);
+	kunmap_local(base);
 
 	err = ufs_commit_chunk(page, 0, chunk_size);
 fail:
@@ -592,17 +623,18 @@ int ufs_empty_dir(struct inode * inode)
 {
 	struct super_block *sb = inode->i_sb;
 	struct page *page = NULL;
+	void *page_addr;
 	unsigned long i, npages = dir_pages(inode);
 
 	for (i = 0; i < npages; i++) {
 		char *kaddr;
 		struct ufs_dir_entry *de;
-		page = ufs_get_page(inode, i);
 
+		page = ufs_get_page(inode, i, &page_addr);
 		if (IS_ERR(page))
 			continue;
 
-		kaddr = page_address(page);
+		kaddr = page_addr;
 		de = (struct ufs_dir_entry *)kaddr;
 		kaddr += ufs_last_byte(inode, i) - UFS_DIR_REC_LEN(1);
 
@@ -629,12 +661,12 @@ int ufs_empty_dir(struct inode * inode)
 			}
 			de = ufs_next_entry(sb, de);
 		}
-		ufs_put_page(page);
+		ufs_put_page(page, page_addr);
 	}
 	return 1;
 
 not_empty:
-	ufs_put_page(page);
+	ufs_put_page(page, page_addr);
 	return 0;
 }
 
diff --git a/fs/ufs/namei.c b/fs/ufs/namei.c
index 29d5a0e0c8f0..bc7060d10dd2 100644
--- a/fs/ufs/namei.c
+++ b/fs/ufs/namei.c
@@ -210,13 +210,14 @@ static int ufs_unlink(struct inode *dir, struct dentry *dentry)
 	struct inode * inode = d_inode(dentry);
 	struct ufs_dir_entry *de;
 	struct page *page;
+	void *page_addr;
 	int err = -ENOENT;
 
-	de = ufs_find_entry(dir, &dentry->d_name, &page);
+	de = ufs_find_entry(dir, &dentry->d_name, &page, &page_addr);
 	if (!de)
 		goto out;
 
-	err = ufs_delete_entry(dir, de, page);
+	err = ufs_delete_entry(dir, de, page, page_addr);
 	if (err)
 		goto out;
 
@@ -250,27 +251,31 @@ static int ufs_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
 	struct inode *old_inode = d_inode(old_dentry);
 	struct inode *new_inode = d_inode(new_dentry);
 	struct page *dir_page = NULL;
+	void *dir_page_addr;
 	struct ufs_dir_entry * dir_de = NULL;
 	struct page *old_page;
+	void *old_page_addr;
 	struct ufs_dir_entry *old_de;
 	int err = -ENOENT;
 
 	if (flags & ~RENAME_NOREPLACE)
 		return -EINVAL;
 
-	old_de = ufs_find_entry(old_dir, &old_dentry->d_name, &old_page);
+	old_de = ufs_find_entry(old_dir, &old_dentry->d_name, &old_page,
+				&old_page_addr);
 	if (!old_de)
 		goto out;
 
 	if (S_ISDIR(old_inode->i_mode)) {
 		err = -EIO;
-		dir_de = ufs_dotdot(old_inode, &dir_page);
+		dir_de = ufs_dotdot(old_inode, &dir_page, &dir_page_addr);
 		if (!dir_de)
 			goto out_old;
 	}
 
 	if (new_inode) {
 		struct page *new_page;
+		void *page_addr;
 		struct ufs_dir_entry *new_de;
 
 		err = -ENOTEMPTY;
@@ -278,10 +283,11 @@ static int ufs_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
 			goto out_dir;
 
 		err = -ENOENT;
-		new_de = ufs_find_entry(new_dir, &new_dentry->d_name, &new_page);
+		new_de = ufs_find_entry(new_dir, &new_dentry->d_name, &new_page,
+					&page_addr);
 		if (!new_de)
 			goto out_dir;
-		ufs_set_link(new_dir, new_de, new_page, old_inode, 1);
+		ufs_set_link(new_dir, new_de, new_page, page_addr, old_inode, 1);
 		new_inode->i_ctime = current_time(new_inode);
 		if (dir_de)
 			drop_nlink(new_inode);
@@ -300,29 +306,25 @@ static int ufs_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
 	 */
 	old_inode->i_ctime = current_time(old_inode);
 
-	ufs_delete_entry(old_dir, old_de, old_page);
+	ufs_delete_entry(old_dir, old_de, old_page, old_page_addr);
 	mark_inode_dirty(old_inode);
 
 	if (dir_de) {
 		if (old_dir != new_dir)
-			ufs_set_link(old_inode, dir_de, dir_page, new_dir, 0);
-		else {
-			kunmap(dir_page);
-			put_page(dir_page);
-		}
+			ufs_set_link(old_inode, dir_de, dir_page,
+				     dir_page_addr, new_dir, 0);
+		else
+			ufs_put_page(dir_page, dir_page_addr);
 		inode_dec_link_count(old_dir);
 	}
 	return 0;
 
 
 out_dir:
-	if (dir_de) {
-		kunmap(dir_page);
-		put_page(dir_page);
-	}
+	if (dir_de)
+		ufs_put_page(dir_page, dir_page_addr);
 out_old:
-	kunmap(old_page);
-	put_page(old_page);
+	ufs_put_page(old_page, old_page_addr);
 out:
 	return err;
 }
diff --git a/fs/ufs/ufs.h b/fs/ufs/ufs.h
index 550f7c5a3636..be02e5d1886b 100644
--- a/fs/ufs/ufs.h
+++ b/fs/ufs/ufs.h
@@ -102,12 +102,16 @@ extern const struct inode_operations ufs_dir_inode_operations;
 extern int ufs_add_link (struct dentry *, struct inode *);
 extern ino_t ufs_inode_by_name(struct inode *, const struct qstr *);
 extern int ufs_make_empty(struct inode *, struct inode *);
-extern struct ufs_dir_entry *ufs_find_entry(struct inode *, const struct qstr *, struct page **);
-extern int ufs_delete_entry(struct inode *, struct ufs_dir_entry *, struct page *);
+extern struct ufs_dir_entry *ufs_find_entry(struct inode *, const struct qstr *,
+					    struct page **, void **);
+extern int ufs_delete_entry(struct inode *, struct ufs_dir_entry *, struct page *,
+			    char *);
 extern int ufs_empty_dir (struct inode *);
-extern struct ufs_dir_entry *ufs_dotdot(struct inode *, struct page **);
+extern struct ufs_dir_entry *ufs_dotdot(struct inode *, struct page **, void **);
 extern void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
-			 struct page *page, struct inode *inode, bool update_times);
+			 struct page *page, void *page_addr,
+			 struct inode *inode, bool update_times);
+extern inline void ufs_put_page(struct page *page, void *page_addr);
 
 /* file.c */
 extern const struct inode_operations ufs_file_inode_operations;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] fs/ufs: Replace kmap() with kmap_local_page()
  2022-05-08 20:07 [PATCH] fs/ufs: Replace kmap() with kmap_local_page() Fabio M. De Francesco
@ 2022-05-08 23:44 ` kernel test robot
  2022-05-09  6:04     ` Fabio M. De Francesco
  2022-05-09  0:25 ` kernel test robot
  1 sibling, 1 reply; 9+ messages in thread
From: kernel test robot @ 2022-05-08 23:44 UTC (permalink / raw)
  To: Fabio M. De Francesco, Evgeniy Dushistov, Ira Weiny, linux-kernel
  Cc: kbuild-all, Fabio M. De Francesco

Hi "Fabio,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.18-rc6 next-20220506]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/intel-lab-lkp/linux/commits/Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e3de3a1cda5fdc3ac42cb0d45321fb254500595f
config: arm-randconfig-s032-20220508 (https://download.01.org/0day-ci/archive/20220509/202205090729.mU23mv8h-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://github.com/intel-lab-lkp/linux/commit/e73d9919e2725b216318d5d02b8a184876ab3b11
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
        git checkout e73d9919e2725b216318d5d02b8a184876ab3b11
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash fs/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
   fs/ufs/namei.c: note: in included file:
>> fs/ufs/ufs.h:114:32: sparse: sparse: marked inline, but without a definition
>> fs/ufs/ufs.h:114:32: sparse: sparse: marked inline, but without a definition
>> fs/ufs/ufs.h:114:32: sparse: sparse: marked inline, but without a definition

vim +114 fs/ufs/ufs.h

    99	
   100	/* dir.c */
   101	extern const struct inode_operations ufs_dir_inode_operations;
   102	extern int ufs_add_link (struct dentry *, struct inode *);
   103	extern ino_t ufs_inode_by_name(struct inode *, const struct qstr *);
   104	extern int ufs_make_empty(struct inode *, struct inode *);
   105	extern struct ufs_dir_entry *ufs_find_entry(struct inode *, const struct qstr *,
   106						    struct page **, void **);
   107	extern int ufs_delete_entry(struct inode *, struct ufs_dir_entry *, struct page *,
   108				    char *);
   109	extern int ufs_empty_dir (struct inode *);
   110	extern struct ufs_dir_entry *ufs_dotdot(struct inode *, struct page **, void **);
   111	extern void ufs_set_link(struct inode *dir, struct ufs_dir_entry *de,
   112				 struct page *page, void *page_addr,
   113				 struct inode *inode, bool update_times);
 > 114	extern inline void ufs_put_page(struct page *page, void *page_addr);
   115	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] fs/ufs: Replace kmap() with kmap_local_page()
  2022-05-08 20:07 [PATCH] fs/ufs: Replace kmap() with kmap_local_page() Fabio M. De Francesco
  2022-05-08 23:44 ` kernel test robot
@ 2022-05-09  0:25 ` kernel test robot
  2022-05-09  6:14     ` Fabio M. De Francesco
  2022-05-09 12:49   ` Philip Li
  1 sibling, 2 replies; 9+ messages in thread
From: kernel test robot @ 2022-05-09  0:25 UTC (permalink / raw)
  To: Fabio M. De Francesco, Evgeniy Dushistov, Ira Weiny, linux-kernel
  Cc: kbuild-all, Fabio M. De Francesco

Hi "Fabio,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.18-rc6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/intel-lab-lkp/linux/commits/Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e3de3a1cda5fdc3ac42cb0d45321fb254500595f
config: riscv-randconfig-r042-20220509 (https://download.01.org/0day-ci/archive/20220509/202205090835.NEUQ3VKB-lkp@intel.com/config)
compiler: riscv32-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/e73d9919e2725b216318d5d02b8a184876ab3b11
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
        git checkout e73d9919e2725b216318d5d02b8a184876ab3b11
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

>> WARNING: modpost: vmlinux.o(.text+0xa76c20): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.LVL13
The function rtc_update_irq() references
the variable __init .LVL13.
This is often because rtc_update_irq lacks a __init
annotation or the annotation of .LVL13 is wrong.
--
>> WARNING: modpost: vmlinux.o(.text+0xb35ab4): Section mismatch in reference from the function btintel_send_intel_reset() to the variable .init.text:.LBE19058
The function btintel_send_intel_reset() references
the variable __init .LBE19058.
This is often because btintel_send_intel_reset lacks a __init
annotation or the annotation of .LBE19058 is wrong.
--
>> WARNING: modpost: vmlinux.o(.text+0xc53984): Section mismatch in reference from the function neigh_table_clear() to the variable .init.text:$x
The function neigh_table_clear() references
the variable __init $x.
This is often because neigh_table_clear lacks a __init
annotation or the annotation of $x is wrong.
--
>> WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF936
FATAL: modpost: extable_entry size hasn't been discovered!

Note: the below error/warnings can be found in parent commit:
<< WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in reference from the function rproc_exit_sysfs() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF1567
<< WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in reference from the function rtc_get_dev_attribute_groups() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in reference from the function ir_raw_get_allowed_protocols() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in reference from the function ir_raw_event_prepare() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in reference from the function ir_raw_event_free() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in reference from the function ir_raw_event_unregister() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in reference from the function btintel_enter_mfg() to the variable .init.text:.LBB19521
<< WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in reference from the function rproc_exit_sysfs() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF1567
<< WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in reference from the function rtc_get_dev_attribute_groups() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in reference from the function ir_raw_get_allowed_protocols() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in reference from the function ir_raw_event_prepare() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in reference from the function ir_raw_event_free() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in reference from the function ir_raw_event_unregister() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in reference from the function btintel_enter_mfg() to the variable .init.text:.LBB19521
<< WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in reference from the function rproc_exit_sysfs() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF1567
<< WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in reference from the function rtc_get_dev_attribute_groups() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in reference from the function ir_raw_get_allowed_protocols() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in reference from the function ir_raw_event_prepare() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in reference from the function ir_raw_event_free() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in reference from the function ir_raw_event_unregister() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in reference from the function btintel_enter_mfg() to the variable .init.text:.LBB19521
<< WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in reference from the function rproc_exit_sysfs() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF1567
<< WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in reference from the function rtc_get_dev_attribute_groups() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in reference from the function ir_raw_get_allowed_protocols() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in reference from the function ir_raw_event_prepare() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in reference from the function ir_raw_event_free() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in reference from the function ir_raw_event_unregister() to the variable .init.text:.L0
<< WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in reference from the function btintel_enter_mfg() to the variable .init.text:.LBB19521

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] fs/ufs: Replace kmap() with kmap_local_page()
  2022-05-08 23:44 ` kernel test robot
@ 2022-05-09  6:04     ` Fabio M. De Francesco
  0 siblings, 0 replies; 9+ messages in thread
From: Fabio M. De Francesco @ 2022-05-09  6:04 UTC (permalink / raw)
  To: Evgeniy Dushistov, Ira Weiny, linux-kernel, kernel test robot; +Cc: kbuild-all

On lunedì 9 maggio 2022 01:44:13 CEST kernel test robot wrote:
> Hi "Fabio,
> 
> Thank you for the patch! Perhaps something to improve:
> 
> [auto build test WARNING on linus/master]
> [also build test WARNING on v5.18-rc6 next-20220506]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
linux.git e3de3a1cda5fdc3ac42cb0d45321fb254500595f
> config: arm-randconfig-s032-20220508 (https://download.01.org/0day-ci/
archive/20220509/202205090729.mU23mv8h-lkp@intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/
sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # apt-get install sparse
>         # sparse version: v0.6.4-dirty
>         # https://github.com/intel-lab-lkp/linux/commit/
e73d9919e2725b216318d5d02b8a184876ab3b11
>         git remote add linux-review https://github.com/intel-lab-lkp/
linux
>         git fetch --no-tags linux-review Fabio-M-De-Francesco/fs-ufs-
Replace-kmap-with-kmap_local_page/20220509-040920
>         git checkout e73d9919e2725b216318d5d02b8a184876ab3b11
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross 
C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm 
SHELL=/bin/bash fs/
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> 
> sparse warnings: (new ones prefixed by >>)
>    fs/ufs/namei.c: note: in included file:
> >> fs/ufs/ufs.h:114:32: sparse: sparse: marked inline, but without a 
definition
> >> fs/ufs/ufs.h:114:32: sparse: sparse: marked inline, but without a 
definition
> >> fs/ufs/ufs.h:114:32: sparse: sparse: marked inline, but without a 
definition
> 
> vim +114 fs/ufs/ufs.h
> 
>     99	
>    100	/* dir.c */
>    101	extern const struct inode_operations ufs_dir_inode_operations;
>    102	extern int ufs_add_link (struct dentry *, struct inode *);
>    103	extern ino_t ufs_inode_by_name(struct inode *, const struct qstr 
*);
>    104	extern int ufs_make_empty(struct inode *, struct inode *);
>    105	extern struct ufs_dir_entry *ufs_find_entry(struct inode *, const 
struct qstr *,
>    106						    struct page 
**, void **);
>    107	extern int ufs_delete_entry(struct inode *, struct ufs_dir_entry 
*, struct page *,
>    108				    char *);
>    109	extern int ufs_empty_dir (struct inode *);
>    110	extern struct ufs_dir_entry *ufs_dotdot(struct inode *, struct 
page **, void **);
>    111	extern void ufs_set_link(struct inode *dir, struct ufs_dir_entry 
*de,
>    112				 struct page *page, void 
*page_addr,
>    113				 struct inode *inode, bool 
update_times);
>  > 114	extern inline void ufs_put_page(struct page *page, void 
*page_addr);
>    115	
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp

This will be fixed in v2.

Thanks,

Fabio




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] fs/ufs: Replace kmap() with kmap_local_page()
@ 2022-05-09  6:04     ` Fabio M. De Francesco
  0 siblings, 0 replies; 9+ messages in thread
From: Fabio M. De Francesco @ 2022-05-09  6:04 UTC (permalink / raw)
  To: kbuild-all

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

On lunedì 9 maggio 2022 01:44:13 CEST kernel test robot wrote:
> Hi "Fabio,
> 
> Thank you for the patch! Perhaps something to improve:
> 
> [auto build test WARNING on linus/master]
> [also build test WARNING on v5.18-rc6 next-20220506]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
linux.git e3de3a1cda5fdc3ac42cb0d45321fb254500595f
> config: arm-randconfig-s032-20220508 (https://download.01.org/0day-ci/
archive/20220509/202205090729.mU23mv8h-lkp(a)intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/
sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # apt-get install sparse
>         # sparse version: v0.6.4-dirty
>         # https://github.com/intel-lab-lkp/linux/commit/
e73d9919e2725b216318d5d02b8a184876ab3b11
>         git remote add linux-review https://github.com/intel-lab-lkp/
linux
>         git fetch --no-tags linux-review Fabio-M-De-Francesco/fs-ufs-
Replace-kmap-with-kmap_local_page/20220509-040920
>         git checkout e73d9919e2725b216318d5d02b8a184876ab3b11
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross 
C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm 
SHELL=/bin/bash fs/
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> 
> sparse warnings: (new ones prefixed by >>)
>    fs/ufs/namei.c: note: in included file:
> >> fs/ufs/ufs.h:114:32: sparse: sparse: marked inline, but without a 
definition
> >> fs/ufs/ufs.h:114:32: sparse: sparse: marked inline, but without a 
definition
> >> fs/ufs/ufs.h:114:32: sparse: sparse: marked inline, but without a 
definition
> 
> vim +114 fs/ufs/ufs.h
> 
>     99	
>    100	/* dir.c */
>    101	extern const struct inode_operations ufs_dir_inode_operations;
>    102	extern int ufs_add_link (struct dentry *, struct inode *);
>    103	extern ino_t ufs_inode_by_name(struct inode *, const struct qstr 
*);
>    104	extern int ufs_make_empty(struct inode *, struct inode *);
>    105	extern struct ufs_dir_entry *ufs_find_entry(struct inode *, const 
struct qstr *,
>    106						    struct page 
**, void **);
>    107	extern int ufs_delete_entry(struct inode *, struct ufs_dir_entry 
*, struct page *,
>    108				    char *);
>    109	extern int ufs_empty_dir (struct inode *);
>    110	extern struct ufs_dir_entry *ufs_dotdot(struct inode *, struct 
page **, void **);
>    111	extern void ufs_set_link(struct inode *dir, struct ufs_dir_entry 
*de,
>    112				 struct page *page, void 
*page_addr,
>    113				 struct inode *inode, bool 
update_times);
>  > 114	extern inline void ufs_put_page(struct page *page, void 
*page_addr);
>    115	
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp

This will be fixed in v2.

Thanks,

Fabio



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] fs/ufs: Replace kmap() with kmap_local_page()
  2022-05-09  0:25 ` kernel test robot
@ 2022-05-09  6:14     ` Fabio M. De Francesco
  2022-05-09 12:49   ` Philip Li
  1 sibling, 0 replies; 9+ messages in thread
From: Fabio M. De Francesco @ 2022-05-09  6:14 UTC (permalink / raw)
  To: Evgeniy Dushistov, Ira Weiny, linux-kernel, kernel test robot; +Cc: kbuild-all

On lunedì 9 maggio 2022 02:25:00 CEST kernel test robot wrote:
> Hi "Fabio,
> 
> Thank you for the patch! Perhaps something to improve:
> 
> [auto build test WARNING on linus/master]
> [also build test WARNING on v5.18-rc6]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
linux.git e3de3a1cda5fdc3ac42cb0d45321fb254500595f
> config: riscv-randconfig-r042-20220509 (https://download.01.org/0day-ci/
archive/20220509/202205090835.NEUQ3VKB-lkp@intel.com/config)
> compiler: riscv32-linux-gcc (GCC) 11.3.0
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/
sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # https://github.com/intel-lab-lkp/linux/commit/
e73d9919e2725b216318d5d02b8a184876ab3b11
>         git remote add linux-review https://github.com/intel-lab-lkp/
linux
>         git fetch --no-tags linux-review Fabio-M-De-Francesco/fs-ufs-
Replace-kmap-with-kmap_local_page/20220509-040920
>         git checkout e73d9919e2725b216318d5d02b8a184876ab3b11
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross 
W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>, old ones prefixed by <<):
> 
> >> WARNING: modpost: vmlinux.o(.text+0xa76c20): Section mismatch in 
reference from the function rtc_update_irq() to the variable 
.init.text:.LVL13
> The function rtc_update_irq() references
> the variable __init .LVL13.
> This is often because rtc_update_irq lacks a __init
> annotation or the annotation of .LVL13 is wrong.
> --
> >> WARNING: modpost: vmlinux.o(.text+0xb35ab4): Section mismatch in 
reference from the function btintel_send_intel_reset() to the variable 
.init.text:.LBE19058
> The function btintel_send_intel_reset() references
> the variable __init .LBE19058.
> This is often because btintel_send_intel_reset lacks a __init
> annotation or the annotation of .LBE19058 is wrong.
> --
> >> WARNING: modpost: vmlinux.o(.text+0xc53984): Section mismatch in 
reference from the function neigh_table_clear() to the variable .init.text:
$x
> The function neigh_table_clear() references
> the variable __init $x.
> This is often because neigh_table_clear lacks a __init
> annotation or the annotation of $x is wrong.
> --
> >> WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF936
> FATAL: modpost: extable_entry size hasn't been discovered!
> 
> Note: the below error/warnings can be found in parent commit:
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in 
reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in 
reference from the function rproc_exit_sysfs() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in 
reference from the function rtc_get_dev_attribute_groups() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in 
reference from the function ir_raw_get_allowed_protocols() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in 
reference from the function ir_raw_event_prepare() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in 
reference from the function ir_raw_event_free() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in 
reference from the function ir_raw_event_unregister() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in 
reference from the function btintel_enter_mfg() to the variable 
.init.text:.LBB19521
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in 
reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in 
reference from the function rproc_exit_sysfs() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in 
reference from the function rtc_get_dev_attribute_groups() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in 
reference from the function ir_raw_get_allowed_protocols() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in 
reference from the function ir_raw_event_prepare() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in 
reference from the function ir_raw_event_free() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in 
reference from the function ir_raw_event_unregister() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in 
reference from the function btintel_enter_mfg() to the variable 
.init.text:.LBB19521
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in 
reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in 
reference from the function rproc_exit_sysfs() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in 
reference from the function rtc_get_dev_attribute_groups() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in 
reference from the function ir_raw_get_allowed_protocols() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in 
reference from the function ir_raw_event_prepare() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in 
reference from the function ir_raw_event_free() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in 
reference from the function ir_raw_event_unregister() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in 
reference from the function btintel_enter_mfg() to the variable 
.init.text:.LBB19521
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in 
reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in 
reference from the function rproc_exit_sysfs() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in 
reference from the function rtc_get_dev_attribute_groups() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in 
reference from the function ir_raw_get_allowed_protocols() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in 
reference from the function ir_raw_event_prepare() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in 
reference from the function ir_raw_event_free() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in 
reference from the function ir_raw_event_unregister() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in 
reference from the function btintel_enter_mfg() to the variable 
.init.text:.LBB19521
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp
> 
I cannot understand this report. All the functions listed here seem to have 
nothing to do with my patch. Can anyone explain how these errors are 
related to my changes?

Thanks,

Fabio




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] fs/ufs: Replace kmap() with kmap_local_page()
@ 2022-05-09  6:14     ` Fabio M. De Francesco
  0 siblings, 0 replies; 9+ messages in thread
From: Fabio M. De Francesco @ 2022-05-09  6:14 UTC (permalink / raw)
  To: kbuild-all

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

On lunedì 9 maggio 2022 02:25:00 CEST kernel test robot wrote:
> Hi "Fabio,
> 
> Thank you for the patch! Perhaps something to improve:
> 
> [auto build test WARNING on linus/master]
> [also build test WARNING on v5.18-rc6]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
linux.git e3de3a1cda5fdc3ac42cb0d45321fb254500595f
> config: riscv-randconfig-r042-20220509 (https://download.01.org/0day-ci/
archive/20220509/202205090835.NEUQ3VKB-lkp(a)intel.com/config)
> compiler: riscv32-linux-gcc (GCC) 11.3.0
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/
sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # https://github.com/intel-lab-lkp/linux/commit/
e73d9919e2725b216318d5d02b8a184876ab3b11
>         git remote add linux-review https://github.com/intel-lab-lkp/
linux
>         git fetch --no-tags linux-review Fabio-M-De-Francesco/fs-ufs-
Replace-kmap-with-kmap_local_page/20220509-040920
>         git checkout e73d9919e2725b216318d5d02b8a184876ab3b11
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross 
W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>, old ones prefixed by <<):
> 
> >> WARNING: modpost: vmlinux.o(.text+0xa76c20): Section mismatch in 
reference from the function rtc_update_irq() to the variable 
.init.text:.LVL13
> The function rtc_update_irq() references
> the variable __init .LVL13.
> This is often because rtc_update_irq lacks a __init
> annotation or the annotation of .LVL13 is wrong.
> --
> >> WARNING: modpost: vmlinux.o(.text+0xb35ab4): Section mismatch in 
reference from the function btintel_send_intel_reset() to the variable 
.init.text:.LBE19058
> The function btintel_send_intel_reset() references
> the variable __init .LBE19058.
> This is often because btintel_send_intel_reset lacks a __init
> annotation or the annotation of .LBE19058 is wrong.
> --
> >> WARNING: modpost: vmlinux.o(.text+0xc53984): Section mismatch in 
reference from the function neigh_table_clear() to the variable .init.text:
$x
> The function neigh_table_clear() references
> the variable __init $x.
> This is often because neigh_table_clear lacks a __init
> annotation or the annotation of $x is wrong.
> --
> >> WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF936
> FATAL: modpost: extable_entry size hasn't been discovered!
> 
> Note: the below error/warnings can be found in parent commit:
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in 
reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in 
reference from the function rproc_exit_sysfs() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in 
reference from the function rtc_get_dev_attribute_groups() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in 
reference from the function ir_raw_get_allowed_protocols() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in 
reference from the function ir_raw_event_prepare() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in 
reference from the function ir_raw_event_free() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in 
reference from the function ir_raw_event_unregister() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in 
reference from the function btintel_enter_mfg() to the variable 
.init.text:.LBB19521
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in 
reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in 
reference from the function rproc_exit_sysfs() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in 
reference from the function rtc_get_dev_attribute_groups() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in 
reference from the function ir_raw_get_allowed_protocols() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in 
reference from the function ir_raw_event_prepare() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in 
reference from the function ir_raw_event_free() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in 
reference from the function ir_raw_event_unregister() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in 
reference from the function btintel_enter_mfg() to the variable 
.init.text:.LBB19521
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in 
reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in 
reference from the function rproc_exit_sysfs() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in 
reference from the function rtc_get_dev_attribute_groups() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in 
reference from the function ir_raw_get_allowed_protocols() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in 
reference from the function ir_raw_event_prepare() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in 
reference from the function ir_raw_event_free() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in 
reference from the function ir_raw_event_unregister() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in 
reference from the function btintel_enter_mfg() to the variable 
.init.text:.LBB19521
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in 
reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in 
reference from the function rproc_exit_sysfs() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in 
reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in 
reference from the function rtc_get_dev_attribute_groups() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in 
reference from the function ir_raw_get_allowed_protocols() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in 
reference from the function ir_raw_event_prepare() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in 
reference from the function ir_raw_event_free() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in 
reference from the function ir_raw_event_unregister() to the variable 
.init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in 
reference from the function btintel_enter_mfg() to the variable 
.init.text:.LBB19521
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp
> 
I cannot understand this report. All the functions listed here seem to have 
nothing to do with my patch. Can anyone explain how these errors are 
related to my changes?

Thanks,

Fabio



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [kbuild-all] Re: [PATCH] fs/ufs: Replace kmap() with kmap_local_page()
  2022-05-09  6:14     ` Fabio M. De Francesco
  (?)
@ 2022-05-09  9:10     ` Chen, Rong A
  -1 siblings, 0 replies; 9+ messages in thread
From: Chen, Rong A @ 2022-05-09  9:10 UTC (permalink / raw)
  To: Fabio M. De Francesco, Evgeniy Dushistov, Ira Weiny,
	linux-kernel, kernel test robot
  Cc: kbuild-all



On 5/9/2022 2:14 PM, Fabio M. De Francesco wrote:
> On lunedì 9 maggio 2022 02:25:00 CEST kernel test robot wrote:
>> Hi "Fabio,
>>

Hi Fabio,

Here is a note:

>>
>> Note: the below error/warnings can be found in parent commit:
>> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in
> reference from the function rtc_update_irq() to the variable .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in
> reference from the function rproc_exit_sysfs() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in
> reference from the variable .L0 to the variable .debug_str:.LASF1567
>> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in
> reference from the function rtc_get_dev_attribute_groups() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in
> reference from the function ir_raw_get_allowed_protocols() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in
> reference from the function ir_raw_event_prepare() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in
> reference from the function ir_raw_event_free() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in
> reference from the function ir_raw_event_unregister() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in
> reference from the function btintel_enter_mfg() to the variable
> .init.text:.LBB19521
>> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in
> reference from the function rtc_update_irq() to the variable .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in
> reference from the function rproc_exit_sysfs() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in
> reference from the variable .L0 to the variable .debug_str:.LASF1567
>> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in
> reference from the function rtc_get_dev_attribute_groups() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in
> reference from the function ir_raw_get_allowed_protocols() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in
> reference from the function ir_raw_event_prepare() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in
> reference from the function ir_raw_event_free() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in
> reference from the function ir_raw_event_unregister() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in
> reference from the function btintel_enter_mfg() to the variable
> .init.text:.LBB19521
>> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in
> reference from the function rtc_update_irq() to the variable .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in
> reference from the function rproc_exit_sysfs() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in
> reference from the variable .L0 to the variable .debug_str:.LASF1567
>> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in
> reference from the function rtc_get_dev_attribute_groups() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in
> reference from the function ir_raw_get_allowed_protocols() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in
> reference from the function ir_raw_event_prepare() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in
> reference from the function ir_raw_event_free() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in
> reference from the function ir_raw_event_unregister() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in
> reference from the function btintel_enter_mfg() to the variable
> .init.text:.LBB19521
>> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in
> reference from the function rtc_update_irq() to the variable .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in
> reference from the function rproc_exit_sysfs() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in
> reference from the variable .L0 to the variable .debug_str:.LASF1567
>> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in
> reference from the function rtc_get_dev_attribute_groups() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in
> reference from the function ir_raw_get_allowed_protocols() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in
> reference from the function ir_raw_event_prepare() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in
> reference from the function ir_raw_event_free() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in
> reference from the function ir_raw_event_unregister() to the variable
> .init.text:.L0
>> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in
> reference from the function btintel_enter_mfg() to the variable
> .init.text:.LBB19521
>>
>> -- 
>> 0-DAY CI Kernel Test Service
>> https://01.org/lkp
>>
> I cannot understand this report. All the functions listed here seem to have
> nothing to do with my patch. Can anyone explain how these errors are
> related to my changes?
> 
> Thanks,
> 
> Fabio
> 
> 


Please ignore this report, a lot of similar warnings can be found in 
parent commit.

Best Regards,
Rong Chen


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] fs/ufs: Replace kmap() with kmap_local_page()
  2022-05-09  0:25 ` kernel test robot
  2022-05-09  6:14     ` Fabio M. De Francesco
@ 2022-05-09 12:49   ` Philip Li
  1 sibling, 0 replies; 9+ messages in thread
From: Philip Li @ 2022-05-09 12:49 UTC (permalink / raw)
  To: kernel test robot
  Cc: Fabio M. De Francesco, Evgeniy Dushistov, Ira Weiny,
	linux-kernel, kbuild-all

On Mon, May 09, 2022 at 08:25:00AM +0800, kernel test robot wrote:
> Hi "Fabio,
> 
> Thank you for the patch! Perhaps something to improve:
> 
> [auto build test WARNING on linus/master]
> [also build test WARNING on v5.18-rc6]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e3de3a1cda5fdc3ac42cb0d45321fb254500595f
> config: riscv-randconfig-r042-20220509 (https://download.01.org/0day-ci/archive/20220509/202205090835.NEUQ3VKB-lkp@intel.com/config)
> compiler: riscv32-linux-gcc (GCC) 11.3.0
> reproduce (this is a W=1 build):
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # https://github.com/intel-lab-lkp/linux/commit/e73d9919e2725b216318d5d02b8a184876ab3b11
>         git remote add linux-review https://github.com/intel-lab-lkp/linux
>         git fetch --no-tags linux-review Fabio-M-De-Francesco/fs-ufs-Replace-kmap-with-kmap_local_page/20220509-040920
>         git checkout e73d9919e2725b216318d5d02b8a184876ab3b11
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>, old ones prefixed by <<):

Sorry, kindly ignore this report, which is a false positive. We will
block such report in future.

> 
> >> WARNING: modpost: vmlinux.o(.text+0xa76c20): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.LVL13
> The function rtc_update_irq() references
> the variable __init .LVL13.
> This is often because rtc_update_irq lacks a __init
> annotation or the annotation of .LVL13 is wrong.
> --
> >> WARNING: modpost: vmlinux.o(.text+0xb35ab4): Section mismatch in reference from the function btintel_send_intel_reset() to the variable .init.text:.LBE19058
> The function btintel_send_intel_reset() references
> the variable __init .LBE19058.
> This is often because btintel_send_intel_reset lacks a __init
> annotation or the annotation of .LBE19058 is wrong.
> --
> >> WARNING: modpost: vmlinux.o(.text+0xc53984): Section mismatch in reference from the function neigh_table_clear() to the variable .init.text:$x
> The function neigh_table_clear() references
> the variable __init $x.
> This is often because neigh_table_clear lacks a __init
> annotation or the annotation of $x is wrong.
> --
> >> WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF936
> FATAL: modpost: extable_entry size hasn't been discovered!
> 
> Note: the below error/warnings can be found in parent commit:
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in reference from the function rproc_exit_sysfs() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in reference from the function rtc_get_dev_attribute_groups() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in reference from the function ir_raw_get_allowed_protocols() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in reference from the function ir_raw_event_prepare() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in reference from the function ir_raw_event_free() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in reference from the function ir_raw_event_unregister() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in reference from the function btintel_enter_mfg() to the variable .init.text:.LBB19521
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in reference from the function rproc_exit_sysfs() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in reference from the function rtc_get_dev_attribute_groups() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in reference from the function ir_raw_get_allowed_protocols() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in reference from the function ir_raw_event_prepare() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in reference from the function ir_raw_event_free() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in reference from the function ir_raw_event_unregister() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in reference from the function btintel_enter_mfg() to the variable .init.text:.LBB19521
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in reference from the function rproc_exit_sysfs() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in reference from the function rtc_get_dev_attribute_groups() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in reference from the function ir_raw_get_allowed_protocols() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in reference from the function ir_raw_event_prepare() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in reference from the function ir_raw_event_free() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in reference from the function ir_raw_event_unregister() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in reference from the function btintel_enter_mfg() to the variable .init.text:.LBB19521
> << WARNING: modpost: vmlinux.o(.text+0xa76d10): Section mismatch in reference from the function rtc_update_irq() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.exit.text+0x9b48): Section mismatch in reference from the function rproc_exit_sysfs() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(__ex_table+0x141c): Section mismatch in reference from the variable .L0 to the variable .debug_str:.LASF1567
> << WARNING: modpost: vmlinux.o(.text+0xa7839c): Section mismatch in reference from the function rtc_get_dev_attribute_groups() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2676): Section mismatch in reference from the function ir_raw_get_allowed_protocols() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2cb8): Section mismatch in reference from the function ir_raw_event_prepare() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e16): Section mismatch in reference from the function ir_raw_event_free() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xae2e3a): Section mismatch in reference from the function ir_raw_event_unregister() to the variable .init.text:.L0
> << WARNING: modpost: vmlinux.o(.text+0xb35172): Section mismatch in reference from the function btintel_enter_mfg() to the variable .init.text:.LBB19521
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-05-09 12:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-08 20:07 [PATCH] fs/ufs: Replace kmap() with kmap_local_page() Fabio M. De Francesco
2022-05-08 23:44 ` kernel test robot
2022-05-09  6:04   ` Fabio M. De Francesco
2022-05-09  6:04     ` Fabio M. De Francesco
2022-05-09  0:25 ` kernel test robot
2022-05-09  6:14   ` Fabio M. De Francesco
2022-05-09  6:14     ` Fabio M. De Francesco
2022-05-09  9:10     ` [kbuild-all] " Chen, Rong A
2022-05-09 12:49   ` Philip Li

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.