lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201905141015.kgsyeUe6%lkp@intel.com>
Date:   Tue, 14 May 2019 10:07:23 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Richard Weinberger <richard@....at>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org
Subject: fs/ubifs/dir.c:799: undefined reference to `ubifs_purge_xattrs'

Hi Richard,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   63863ee8e2f6f6ae47be3dff4af2f2806f5ca2dd
commit: 9ca2d732644484488db31123ecd3bf122b551566 ubifs: Limit number of xattrs per inode
date:   6 days ago
config: i386-randconfig-c0-05140716 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        git checkout 9ca2d732644484488db31123ecd3bf122b551566
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   ld: fs/ubifs/dir.o: in function `ubifs_unlink':
>> fs/ubifs/dir.c:799: undefined reference to `ubifs_purge_xattrs'
   ld: fs/ubifs/dir.o: in function `do_rename':
   fs/ubifs/dir.c:1296: undefined reference to `ubifs_purge_xattrs'
   ld: fs/ubifs/dir.o: in function `ubifs_rmdir':
   fs/ubifs/dir.c:907: undefined reference to `ubifs_purge_xattrs'

vim +799 fs/ubifs/dir.c

   773	
   774	static int ubifs_unlink(struct inode *dir, struct dentry *dentry)
   775	{
   776		struct ubifs_info *c = dir->i_sb->s_fs_info;
   777		struct inode *inode = d_inode(dentry);
   778		struct ubifs_inode *dir_ui = ubifs_inode(dir);
   779		int err, sz_change, budgeted = 1;
   780		struct ubifs_budget_req req = { .mod_dent = 1, .dirtied_ino = 2 };
   781		unsigned int saved_nlink = inode->i_nlink;
   782		struct fscrypt_name nm;
   783	
   784		/*
   785		 * Budget request settings: deletion direntry, deletion inode (+1 for
   786		 * @dirtied_ino), changing the parent directory inode. If budgeting
   787		 * fails, go ahead anyway because we have extra space reserved for
   788		 * deletions.
   789		 */
   790	
   791		dbg_gen("dent '%pd' from ino %lu (nlink %d) in dir ino %lu",
   792			dentry, inode->i_ino,
   793			inode->i_nlink, dir->i_ino);
   794	
   795		err = fscrypt_setup_filename(dir, &dentry->d_name, 1, &nm);
   796		if (err)
   797			return err;
   798	
 > 799		err = ubifs_purge_xattrs(inode);
   800		if (err)
   801			return err;
   802	
   803		sz_change = CALC_DENT_SIZE(fname_len(&nm));
   804	
   805		ubifs_assert(c, inode_is_locked(dir));
   806		ubifs_assert(c, inode_is_locked(inode));
   807		err = dbg_check_synced_i_size(c, inode);
   808		if (err)
   809			goto out_fname;
   810	
   811		err = ubifs_budget_space(c, &req);
   812		if (err) {
   813			if (err != -ENOSPC)
   814				goto out_fname;
   815			budgeted = 0;
   816		}
   817	
   818		lock_2_inodes(dir, inode);
   819		inode->i_ctime = current_time(dir);
   820		drop_nlink(inode);
   821		dir->i_size -= sz_change;
   822		dir_ui->ui_size = dir->i_size;
   823		dir->i_mtime = dir->i_ctime = inode->i_ctime;
   824		err = ubifs_jnl_update(c, dir, &nm, inode, 1, 0);
   825		if (err)
   826			goto out_cancel;
   827		unlock_2_inodes(dir, inode);
   828	
   829		if (budgeted)
   830			ubifs_release_budget(c, &req);
   831		else {
   832			/* We've deleted something - clean the "no space" flags */
   833			c->bi.nospace = c->bi.nospace_rp = 0;
   834			smp_wmb();
   835		}
   836		fscrypt_free_filename(&nm);
   837		return 0;
   838	
   839	out_cancel:
   840		dir->i_size += sz_change;
   841		dir_ui->ui_size = dir->i_size;
   842		set_nlink(inode, saved_nlink);
   843		unlock_2_inodes(dir, inode);
   844		if (budgeted)
   845			ubifs_release_budget(c, &req);
   846	out_fname:
   847		fscrypt_free_filename(&nm);
   848		return err;
   849	}
   850	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (28771 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ