All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [kbuild] [djwong-xfs:repair-metadata-atomically 126/229] fs/xfs/xfs_qm.c:1399:6: warning: The if condition is the same as the previous if condition [duplicateCondition]
Date: Tue, 26 May 2020 08:27:24 +0800	[thread overview]
Message-ID: <20200526002724.GD13288@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git repair-metadata-atomically
head:   d334005df02786c9f288f2c7060603e9680946b5
commit: 9d81ac3b1eeab4e8fc2561d27fdff1f76f223b30 [126/229] xfs: implement live quotacheck as part of quota repair
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build):
        git checkout 9d81ac3b1eeab4e8fc2561d27fdff1f76f223b30
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

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


cppcheck warnings: (new ones prefixed by >>)

>> fs/xfs/xfs_qm.c:1399:6: warning: The if condition is the same as the previous if condition [duplicateCondition]
    if (error) {
        ^
   fs/xfs/xfs_qm.c:1389:6: note: First condition
    if (error)
        ^
   fs/xfs/xfs_qm.c:1399:6: note: Second condition
    if (error) {
        ^
   fs/xfs/xfs_buf.h:278:38: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
    bool wait = bp->b_flags & XBF_ASYNC ? false : true;
                                        ^
   fs/xfs/xfs_qm.c:933:34: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
    type = flags & XFS_QMOPT_UQUOTA ? XFS_DQ_USER :
                                    ^
   fs/xfs/xfs_qm.c:934:29: warning: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
     (flags & XFS_QMOPT_PQUOTA ? XFS_DQ_PROJ : XFS_DQ_GROUP);
                               ^
   fs/xfs/xfs_qm.c:1623:6: warning: Either the condition 'qi!=NULL' is redundant or there is possible null pointer dereference: qi. [nullPointerRedundantCheck]
    if (qi->qi_uquotaip) {
        ^
   fs/xfs/xfs_qm.c:736:2: note: Assuming that condition 'qi!=NULL' is not redundant
    ASSERT(qi != NULL);
    ^
   fs/xfs/xfs_qm.c:735:9: note: Assignment 'qi=mp->m_quotainfo', assigned value is 0
    qi = mp->m_quotainfo;
           ^
   fs/xfs/xfs_qm.c:740:27: note: Calling function 'xfs_qm_destroy_quotainos', 1st argument 'qi' value is 0
    xfs_qm_destroy_quotainos(qi);
                             ^
   fs/xfs/xfs_qm.c:1623:6: note: Null pointer dereference
    if (qi->qi_uquotaip) {
        ^
   fs/xfs/xfs_qm.c:1623:6: warning: Null pointer dereference: qi [ctunullpointer]
    if (qi->qi_uquotaip) {
        ^
   fs/xfs/xfs_qm.c:736:2: note: Assuming that condition 'qi!=NULL' is not redundant
   
    ^
   fs/xfs/xfs_qm.c:735:9: note: Assignment 'qi=mp->m_quotainfo', assigned value is 0
   
           ^
   fs/xfs/xfs_qm.c:740:26: note: Calling function xfs_qm_destroy_quotainos, 1st argument is null
    xfs_qm_destroy_quotainos(qi);
                            ^
   fs/xfs/xfs_qm.c:1623:6: note: Dereferencing argument qi that is null
    if (qi->qi_uquotaip) {
        ^

# https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=9d81ac3b1eeab4e8fc2561d27fdff1f76f223b30
git remote add djwong-xfs https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git
git remote update djwong-xfs
git checkout 9d81ac3b1eeab4e8fc2561d27fdff1f76f223b30
vim +1399 fs/xfs/xfs_qm.c

9d81ac3b1eeab4 fs/xfs/xfs_qm.c       Darrick J. Wong     2020-02-19  1336  
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1337  /*
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1338   * Walk thru all the filesystem inodes and construct a consistent view
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1339   * of the disk quota world. If the quotacheck fails, disable quotas.
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1340   */
eb866bbf095ec6 fs/xfs/xfs_qm.c       Jie Liu             2014-07-24  1341  STATIC int
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1342  xfs_qm_quotacheck(
9d81ac3b1eeab4 fs/xfs/xfs_qm.c       Darrick J. Wong     2020-02-19  1343  	struct xfs_mount	*mp)
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1344  {
9d81ac3b1eeab4 fs/xfs/xfs_qm.c       Darrick J. Wong     2020-02-19  1345  	int			error;
43ff2122e6492b fs/xfs/xfs_qm.c       Christoph Hellwig   2012-04-23  1346  	LIST_HEAD		(buffer_list);
9d81ac3b1eeab4 fs/xfs/xfs_qm.c       Darrick J. Wong     2020-02-19  1347  	uint			flags;
113a56835d938d fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-06-27  1348  	struct xfs_inode	*uip = mp->m_quotainfo->qi_uquotaip;
113a56835d938d fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-06-27  1349  	struct xfs_inode	*gip = mp->m_quotainfo->qi_gquotaip;
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1350  	struct xfs_inode	*pip = mp->m_quotainfo->qi_pquotaip;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1351  
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1352  	flags = 0;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1353  
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1354  	ASSERT(uip || gip || pip);
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1355  	ASSERT(XFS_IS_QUOTA_RUNNING(mp));
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1356  
0b932cccbdc09a fs/xfs/quota/xfs_qm.c Dave Chinner        2011-03-07  1357  	xfs_notice(mp, "Quotacheck needed: Please wait.");
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1358  
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1359  	/*
c8ad20ffeb592d fs/xfs/quota/xfs_qm.c Nathan Scott        2005-06-21  1360  	 * First we go thru all the dquots on disk, USR and GRP/PRJ, and reset
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1361  	 * their counters to zero. We need a clean slate.
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1362  	 * We don't log our changes till later.
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1363  	 */
8a7b8a89a3ae5b fs/xfs/quota/xfs_qm.c Christoph Hellwig   2010-04-20  1364  	if (uip) {
28b9060bd80851 fs/xfs/xfs_qm.c       Darrick J. Wong     2018-05-04  1365  		error = xfs_qm_reset_dqcounts_buf(mp, uip, XFS_QMOPT_UQUOTA,
43ff2122e6492b fs/xfs/xfs_qm.c       Christoph Hellwig   2012-04-23  1366  					 &buffer_list);
8a7b8a89a3ae5b fs/xfs/quota/xfs_qm.c Christoph Hellwig   2010-04-20  1367  		if (error)
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1368  			goto error_return;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1369  		flags |= XFS_UQUOTA_CHKD;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1370  	}
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1371  
8a7b8a89a3ae5b fs/xfs/quota/xfs_qm.c Christoph Hellwig   2010-04-20  1372  	if (gip) {
28b9060bd80851 fs/xfs/xfs_qm.c       Darrick J. Wong     2018-05-04  1373  		error = xfs_qm_reset_dqcounts_buf(mp, gip, XFS_QMOPT_GQUOTA,
43ff2122e6492b fs/xfs/xfs_qm.c       Christoph Hellwig   2012-04-23  1374  					 &buffer_list);
8a7b8a89a3ae5b fs/xfs/quota/xfs_qm.c Christoph Hellwig   2010-04-20  1375  		if (error)
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1376  			goto error_return;
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1377  		flags |= XFS_GQUOTA_CHKD;
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1378  	}
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1379  
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1380  	if (pip) {
28b9060bd80851 fs/xfs/xfs_qm.c       Darrick J. Wong     2018-05-04  1381  		error = xfs_qm_reset_dqcounts_buf(mp, pip, XFS_QMOPT_PQUOTA,
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1382  					 &buffer_list);
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1383  		if (error)
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1384  			goto error_return;
92f8ff73f18672 fs/xfs/xfs_qm.c       Chandra Seetharaman 2013-07-11  1385  		flags |= XFS_PQUOTA_CHKD;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1386  	}
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1387  
9d81ac3b1eeab4 fs/xfs/xfs_qm.c       Darrick J. Wong     2020-02-19  1388  	error = xfs_qm_quotacheck_walk_and_flush(mp, false, &buffer_list);
7dce11dbac54fc fs/xfs/quota/xfs_qm.c Christoph Hellwig   2010-06-23  1389  	if (error)
ebd126a651f83c fs/xfs/xfs_qm.c       Darrick J. Wong     2019-07-02  1390  		goto error_return;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1391  
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1392  	/*
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1393  	 * We can get this error if we couldn't do a dquot allocation inside
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1394  	 * xfs_qm_dqusage_adjust (via bulkstat). We don't care about the
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1395  	 * dirty dquots that might be cached, we just want to get rid of them
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1396  	 * and turn quotaoff. The dquots won't be attached to any of the inodes
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1397  	 * at this point (because we intentionally didn't in dqget_noattach).
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1398  	 */
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16 @1399  	if (error) {
8112e9dc6d1494 fs/xfs/quota/xfs_qm.c Christoph Hellwig   2010-04-20  1400  		xfs_qm_dqpurge_all(mp, XFS_QMOPT_QUOTALL);
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1401  		goto error_return;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1402  	}
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1403  
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1404  	/*
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1405  	 * If one type of quotas is off, then it will lose its
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1406  	 * quotachecked status, since we won't be doing accounting for
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1407  	 * that type anymore.
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1408  	 */
4177af3a8a6f11 fs/xfs/xfs_qm.c       Chandra Seetharaman 2012-01-23  1409  	mp->m_qflags &= ~XFS_ALL_QUOTA_CHKD;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1410  	mp->m_qflags |= flags;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1411  
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1412   error_return:
20e8a063786050 fs/xfs/xfs_qm.c       Brian Foster        2017-04-21  1413  	xfs_buf_delwri_cancel(&buffer_list);
43ff2122e6492b fs/xfs/xfs_qm.c       Christoph Hellwig   2012-04-23  1414  
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1415  	if (error) {
0b932cccbdc09a fs/xfs/quota/xfs_qm.c Dave Chinner        2011-03-07  1416  		xfs_warn(mp,
0b932cccbdc09a fs/xfs/quota/xfs_qm.c Dave Chinner        2011-03-07  1417  	"Quotacheck: Unsuccessful (Error %d): Disabling quotas.",
0b932cccbdc09a fs/xfs/quota/xfs_qm.c Dave Chinner        2011-03-07  1418  			error);
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1419  		/*
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1420  		 * We must turn off quotas.
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1421  		 */
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1422  		ASSERT(mp->m_quotainfo != NULL);
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1423  		xfs_qm_destroy_quotainfo(mp);
31d5577b35d839 fs/xfs/quota/xfs_qm.c David Chinner       2008-04-10  1424  		if (xfs_mount_reset_sbqflags(mp)) {
0b932cccbdc09a fs/xfs/quota/xfs_qm.c Dave Chinner        2011-03-07  1425  			xfs_warn(mp,
0b932cccbdc09a fs/xfs/quota/xfs_qm.c Dave Chinner        2011-03-07  1426  				"Quotacheck: Failed to reset quota flags.");
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1427  		}
0b932cccbdc09a fs/xfs/quota/xfs_qm.c Dave Chinner        2011-03-07  1428  	} else
0b932cccbdc09a fs/xfs/quota/xfs_qm.c Dave Chinner        2011-03-07  1429  		xfs_notice(mp, "Quotacheck: Done.");
d99831ff393ff2 fs/xfs/xfs_qm.c       Eric Sandeen        2014-06-22  1430  	return error;
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1431  }
^1da177e4c3f41 fs/xfs/quota/xfs_qm.c Linus Torvalds      2005-04-16  1432  

:::::: The code at line 1399 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org

                 reply	other threads:[~2020-05-26  0:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20200526002724.GD13288@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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 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.