On Tue, Sep 21, 2010 at 09:31:58AM +0200, Andi Kleen wrote: > x > > >> I'm sorry I had not checked the git before sending my last mail. > >> > >> For the problem I mention, consider this scenarios: > >> > >> 1. mm/hwpoinson-inject.c create a debugfs file with > >> debugfs_create_u64("corrupt-filter-flags-mask", ..., > >> &hwpoison_filter_flags_mask) > >> 2. hwpoison_filter_flags_mask is supposed to be protected by > >> filp->priv->mutex > >> of this file when it is accessed from user space. > >> 3. but when it is accessed from > >> mm/memory-failure.c:hwpoison_filter_flags, > >> there is no way for the function to protect the operation (so it > >> simply > >> ignore it). This may create a competition problem. > >> > >> It should be a problem. Thanks for the report. Did this show up as a real bug? What's your use case? Or is it a theoretic concern raised when doing code review? Yeah the hwpoison_filter_flags_* values are not referenced strictly safe to concurrent updates. I didn't care it because the typical usage is for hwpoison test tools to _first_ echo hwpoison_filter_flags_* values into the debugfs and _then_ start injecting hwpoison errors. Otherwise you cannot get reliable test results. The updated value is guaranteed to be visible because there are file mutex UNLOCK and page LOCK operations in between. Thanks, Fengguang -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>