4.20-stable review patch. If anyone has any objections, please let me know.
------------------ From: Gao Xiang <gaoxian...@huawei.com> commit 948bbdb1818b7ad6e539dad4fbd2dd4650793ea9 upstream. Just like other generic locks, insert a full barrier in case of memory reorder. Reviewed-by: Chao Yu <yuch...@huawei.com> Signed-off-by: Gao Xiang <gaoxian...@huawei.com> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> --- drivers/staging/erofs/internal.h | 5 +++++ 1 file changed, 5 insertions(+) --- a/drivers/staging/erofs/internal.h +++ b/drivers/staging/erofs/internal.h @@ -209,6 +209,11 @@ static inline bool erofs_workgroup_try_t static inline void erofs_workgroup_unfreeze(struct erofs_workgroup *grp, int orig_val) { + /* + * other observers should notice all modifications + * in the freezing period. + */ + smp_mb(); atomic_set(&grp->refcount, orig_val); preempt_enable(); }