diff options
Diffstat (limited to 'include/linux/backing-dev-defs.h')
| -rw-r--r-- | include/linux/backing-dev-defs.h | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/backing-dev-defs.h b/include/linux/backing-dev-defs.h index 9a6bc0951cfa..c31157135598 100644 --- a/include/linux/backing-dev-defs.h +++ b/include/linux/backing-dev-defs.h @@ -258,6 +258,14 @@ static inline void wb_get(struct bdi_writeback *wb)   */  static inline void wb_put(struct bdi_writeback *wb)  { +	if (WARN_ON_ONCE(!wb->bdi)) { +		/* +		 * A driver bug might cause a file to be removed before bdi was +		 * initialized. +		 */ +		return; +	} +  	if (wb != &wb->bdi->wb)  		percpu_ref_put(&wb->refcnt);  }  | 
