linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Matthew Wilcox <willy@infradead.org>
To: Lech Perczak <l.perczak@camlintechnologies.com>
Cc: "Al Viro" <viro@zeniv.linux.org.uk>,
	"Eric Dumazet" <edumazet@google.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Piotr Figiel" <p.figiel@camlintechnologies.com>,
	"Krzysztof Drobiński" <k.drobinski@camlintechnologies.com>,
	"Pawel Lenkow" <p.lenkow@camlintechnologies.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
Subject: Re: Recurring warning in page_copy_sane (inside copy_page_to_iter) when running stress tests involving drop_caches
Date: Wed, 15 May 2019 07:43:52 -0700	[thread overview]
Message-ID: <20190515144352.GC31704@bombadil.infradead.org> (raw)
In-Reply-To: <011a16e4-6aff-104c-a19b-d2bd11caba99@camlintechnologies.com>

> > W dniu 25.04.2019 o 11:25, Lech Perczak pisze:
> >> Some time ago, after upgrading the Kernel on our i.MX6Q-based boards to mainline 4.18, and now to LTS 4.19 line, during stress tests we started noticing strange warnings coming from 'read' syscall, when page_copy_sane() check failed. Typical reproducibility is up to ~4 events per 24h. Warnings origin from different processes, mostly involved with the stress tests, but not necessarily with block devices we're stressing. If the warning appeared in process relating to block device stress test, it would be accompanied by corrupted data, as the read operation gets aborted. 
> >>
> >> When I started debugging the issue, I noticed that in all cases we're dealing with highmem zero-order pages. In this case, page_head(page) == page, so page_address(page) should be equal to page_address(head).
> >> However, it isn't the case, as page_address(head) in each case returns zero, causing the value of "v" to explode, and the check to fail.

You're seeing a race between page_address(page) being called twice.
Between those two calls, something has caused the page to be removed from
the page_address_map() list.  Eric's patch avoids calling page_address(),
so apply it and be happy.

Greg, can you consider 6daef95b8c914866a46247232a048447fff97279 for
backporting to stable?  Nobody realised it was a bugfix at the time it
went in.  I suspect there aren't too many of us running HIGHMEM kernels
any more.


  reply	other threads:[~2019-05-15 14:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <d68c83ba-bf5a-f6e8-44dd-be98f45fc97a@camlintechnologies.com>
2019-04-26  8:42 ` Recurring warning in page_copy_sane (inside copy_page_to_iter) when running stress tests involving drop_caches Lech Perczak
2019-05-15 13:18   ` Lech Perczak
2019-05-15 14:43     ` Matthew Wilcox [this message]
2019-05-15 15:02       ` Eric Dumazet
2019-05-15 15:18         ` Matthew Wilcox
2019-05-16 15:18           ` Lech Perczak
2019-05-15 15:04       ` Greg Kroah-Hartman
2019-05-15 15:20         ` Matthew Wilcox
2019-05-15 15:37           ` Greg Kroah-Hartman
2019-05-20 11:05           ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190515144352.GC31704@bombadil.infradead.org \
    --to=willy@infradead.org \
    --cc=edumazet@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=k.drobinski@camlintechnologies.com \
    --cc=l.perczak@camlintechnologies.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=p.figiel@camlintechnologies.com \
    --cc=p.lenkow@camlintechnologies.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).