On 2/24/20 7:16 AM, Jules Irenge wrote:
Sparse reports warning at dax_read_lock() and at dax_read_unlock()

warning: context imbalance in dax_read_lock() - wrong count at exit
  warning: context imbalance in dax_read_unlock() - unexpected unlock

The root cause is the mnissing annotations at dax_read_lock()
        and dax_read_unlock()
s/mnissing/missing
Add the missing __acquires(&dax_srcu) notations to dax_read_lock()
Add the missing __releases(&dax_srcu) annotation to dax_read_unlock()

Signed-off-by: Jules Irenge <[email protected]>
---
  drivers/dax/super.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/dax/super.c b/drivers/dax/super.c
index 26a654dbc69a..f872a2fb98d4 100644
--- a/drivers/dax/super.c
+++ b/drivers/dax/super.c
@@ -28,13 +28,13 @@ static struct super_block *dax_superblock __read_mostly;
  static struct hlist_head dax_host_list[DAX_HASH_SIZE];
  static DEFINE_SPINLOCK(dax_host_lock);
-int dax_read_lock(void)
+int dax_read_lock(void) __acquires(&dax_srcu)
  {
        return srcu_read_lock(&dax_srcu);
  }
  EXPORT_SYMBOL_GPL(dax_read_lock);
-void dax_read_unlock(int id)
+void dax_read_unlock(int id) __releases(&dax_srcu)
  {
        srcu_read_unlock(&dax_srcu, id);
  }
_______________________________________________
Linux-nvdimm mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to