All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@01.org, Jan Kara <jack@suse.cz>
Cc: Dan Carpenter <dan.carpenter@oracle.com>,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: [mmotm:master 64/350] fs/ocfs2/dlmglue.c:3184 ocfs2_mark_lockres_freeing() error: double lock 'irqsave:flags'
Date: Wed, 26 Feb 2014 13:48:35 +0300	[thread overview]
Message-ID: <20140226104835.GY26776@mwanda> (raw)

[ False positive, this is not a bug, it's just that the second IRQ save
  is unnecessary ].

Hi Jan,

FYI, there are new smatch warnings show up in

tree:   git://git.cmpxchg.org/linux-mmotm.git master
head:   a6a1126d3535f0bd8d7c56810061541a4f5595af
commit: c8acdd9e9cf2dd5a5f62034dfaf93c721b3f405d [64/350] ocfs2: avoid blocking in ocfs2_mark_lockres_freeing() in downconvert thread

fs/ocfs2/dlmglue.c:3184 ocfs2_mark_lockres_freeing() error: double lock 'irqsave:flags'
fs/ocfs2/dlmglue.c:3204 ocfs2_mark_lockres_freeing() error: double unlock 'irqsave:flags'

git remote add mmotm git://git.cmpxchg.org/linux-mmotm.git
git remote update mmotm
git checkout c8acdd9e9cf2dd5a5f62034dfaf93c721b3f405d
vim +3184 fs/ocfs2/dlmglue.c

c8acdd9e Jan Kara    2014-02-25  3178  		 *             ocfs2_clear_inode()
c8acdd9e Jan Kara    2014-02-25  3179  		 *               ocfs2_mark_lockres_freeing()
c8acdd9e Jan Kara    2014-02-25  3180  		 *                 ... blocks waiting for OCFS2_LOCK_QUEUED
c8acdd9e Jan Kara    2014-02-25  3181  		 *                 since we are the downconvert thread which
c8acdd9e Jan Kara    2014-02-25  3182  		 *                 should clear the flag.
c8acdd9e Jan Kara    2014-02-25  3183  		 */
c8acdd9e Jan Kara    2014-02-25 @3184  		spin_lock_irqsave(&osb->dc_task_lock, flags);
c8acdd9e Jan Kara    2014-02-25  3185  		list_del_init(&lockres->l_blocked_list);
c8acdd9e Jan Kara    2014-02-25  3186  		osb->blocked_lock_count--;
c8acdd9e Jan Kara    2014-02-25  3187  		spin_unlock_irqrestore(&osb->dc_task_lock, flags);
c8acdd9e Jan Kara    2014-02-25  3188  		lockres_clear_flags(lockres, OCFS2_LOCK_QUEUED);
c8acdd9e Jan Kara    2014-02-25  3189  		goto out_unlock;
c8acdd9e Jan Kara    2014-02-25  3190  	}
ccd979bd Mark Fasheh 2005-12-15  3191  	while (lockres->l_flags & OCFS2_LOCK_QUEUED) {
ccd979bd Mark Fasheh 2005-12-15  3192  		lockres_add_mask_waiter(lockres, &mw, OCFS2_LOCK_QUEUED, 0);
ccd979bd Mark Fasheh 2005-12-15  3193  		spin_unlock_irqrestore(&lockres->l_lock, flags);
ccd979bd Mark Fasheh 2005-12-15  3194  
ccd979bd Mark Fasheh 2005-12-15  3195  		mlog(0, "Waiting on lockres %s\n", lockres->l_name);
ccd979bd Mark Fasheh 2005-12-15  3196  
ccd979bd Mark Fasheh 2005-12-15  3197  		status = ocfs2_wait_for_mask(&mw);
ccd979bd Mark Fasheh 2005-12-15  3198  		if (status)
ccd979bd Mark Fasheh 2005-12-15  3199  			mlog_errno(status);
ccd979bd Mark Fasheh 2005-12-15  3200  
ccd979bd Mark Fasheh 2005-12-15  3201  		spin_lock_irqsave(&lockres->l_lock, flags);
ccd979bd Mark Fasheh 2005-12-15  3202  	}
c8acdd9e Jan Kara    2014-02-25  3203  out_unlock:
ccd979bd Mark Fasheh 2005-12-15 @3204  	spin_unlock_irqrestore(&lockres->l_lock, flags);
ccd979bd Mark Fasheh 2005-12-15  3205  }
ccd979bd Mark Fasheh 2005-12-15  3206  
d680efe9 Mark Fasheh 2006-09-08  3207  void ocfs2_simple_drop_lockres(struct ocfs2_super *osb,

---
0-DAY kernel build testing backend              Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild                 Intel Corporation

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

             reply	other threads:[~2014-02-26 10:49 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-26 10:48 Dan Carpenter [this message]
2014-02-26 11:02 ` [mmotm:master 64/350] fs/ocfs2/dlmglue.c:3184 ocfs2_mark_lockres_freeing() error: double lock 'irqsave:flags' Jan Kara

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=20140226104835.GY26776@mwanda \
    --to=dan.carpenter@oracle.com \
    --cc=jack@suse.cz \
    --cc=kbuild@01.org \
    --cc=linux-mm@kvack.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.