On 12.09.19 03:37, Naoya Horiguchi wrote: > On Wed, Sep 11, 2019 at 12:27:22PM +0200, David Hildenbrand wrote: >> On 10.09.19 12:30, Oscar Salvador wrote: >>> From: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> >>> >>> Currently madvise_inject_error() pins the target via get_user_pages_fast. >>> The call to get_user_pages_fast is only to get the respective page >>> of a given address, but it is the job of the memory-poisoning handler >>> to deal with races, so drop the refcount grabbed by get_user_pages_fast. >>> >> >> Oh, and another question "it is the job of the memory-poisoning handler" >> - is that already properly implemented? (newbee question ¯\_(ツ)_/¯) > > The above description might be confusing, sorry. It's intended likes > > The call to get_user_pages_fast is only to get the pointer to struct > page of a given address, pinning it is memory-poisoning handler's job, > so drop the refcount grabbed by get_user_pages_fast. > > And pinning is done in get_hwpoison_page() for hard-offline and > get_any_page() for soft-offline. For soft-offline case, the semantics of > refcount of poisoned pages is what this patchset tries to change/improve. Thanks for the clarification! -- Thanks, David / dhildenb