From: Richard Purdie <rpurdie@rpsys.net>
To: LKML <linux-kernel@vger.kernel.org>
Subject: Should activate_page()/__set_page_dirty_buffers() use _irqsave locking?
Date: Tue, 26 Jul 2005 11:56:24 +0100 [thread overview]
Message-ID: <1122375384.7642.15.camel@localhost.localdomain> (raw)
I've been experimenting with oprofile on an arm system without a PMU.
Whenever I enable callgraphing I see a BUG from run_posix_cpu_timers()
due to irqs being enabled when they should be disabled.
Tracing this back shows interrupts are enabled after the arm backtrace
code completes. Further tracing reveals its the call to
check_user_page_readable() (within an interrupt) that is causing the
problem.
check_user_page_readable() can potentially result in calls to
activate_page() (mm/swap.c) and __set_page_dirty_buffers()
(fs/buffer.c). Both functions use *_lock_irq()/*_unlock_irq rather than
the *_lock_irqsave/*_unlock_irqrestore counterparts.
Switching them to use the save/restore locks makes everything work. Is
there a reason for not using these here? Would such a patch be accepted?
Both the arm and i386 backtrace code would seem to be vulnerable to this
problem.
Richard
next reply other threads:[~2005-07-26 10:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-26 10:56 Richard Purdie [this message]
2005-07-26 18:38 ` Should activate_page()/__set_page_dirty_buffers() use _irqsave locking? Andrew Morton
2005-07-27 10:08 ` Richard Purdie
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=1122375384.7642.15.camel@localhost.localdomain \
--to=rpurdie@rpsys.net \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.