public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: john stultz <johnstul@us.ibm.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>, NeilBrown <neilb@suse.de>,
	Rabin Vincent <rabin.vincent@stericsson.com>,
	lkml <linux-kernel@vger.kernel.org>, Greg KH <gregkh@suse.de>
Subject: Re: RTC revert request
Date: Wed, 04 Jan 2012 10:32:47 -0800	[thread overview]
Message-ID: <1325701967.3037.97.camel@work-vm> (raw)
In-Reply-To: <CA+55aFxybC2Y-EK4uFJUvj==8kkrokxJh-AWNCyo+9W+DdTw-Q@mail.gmail.com>

On Tue, 2012-01-03 at 19:49 -0800, Linus Torvalds wrote:
> On Tue, Jan 3, 2012 at 7:36 PM, john stultz <johnstul@us.ibm.com> wrote:
> >
> > Thus, would you please revert:
> >
> > 93b2ec0128c431148b216b8f7337c1a52131ef03
> > rtc: Expire alarms after the time is set.
> >
> > and
> >
> > c0afabd3d553c521e003779c127143ffde55a16f
> > rtc: Disable the alarm in the hardware
> 
> Ok, I picked up on the second revert already because of being cc'd on
> the discussion about the stable tree.

Thanks. Sorry for being repetitive, I just wanted to make sure you saw
both.

> Can you point me at the background for that first one, or write a
> changelog for the revert for me? I don't want to have reverts without
> background and explanation of them..

Sure. Here's my assessment of the problem:
	https://lkml.org/lkml/2012/1/3/425

Here's Neil's comments, filling in more on the original issue, as well
as his agreement that we should revert for now:
	https://lkml.org/lkml/2012/1/3/454


The basic summary is that we need to ensure that RTC alarms in the past
are not added to the timerqueue, or if time is set forward, we properly
expire any alarms that are set to the past. Neil's patch does this by
scheduling the timer expiry function when we set the RTC time and at
initialization, when the hardware alarm could return a value in the
past. 

Unfortunately, the second case can cause a null pointer dereference if
the scheduled work runs prior to us completing the registration
function. Since the registration function isn't complete, the we haven't
yet returned a valid rtc structure pointer. And the scheduled work may
require that pointer.

This issue so far has only cropped up on Xen SMP guests, where
registration function takes longer and the scheduled work can quickly
run on another cpu before the registration function returns. Regardless
its a clear bug.

The right fix is likely to fix the initialization so that we don't use
any hardware alarm values that are in the past at registration time.
However, such a change will require more testing and this close to a
release I'd be more comfortable just reverting the problematic change.

Is that ok for a log?

thanks
-john








      reply	other threads:[~2012-01-04 18:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-04  3:36 RTC revert request john stultz
2012-01-04  3:49 ` Linus Torvalds
2012-01-04 18:32   ` john stultz [this message]

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=1325701967.3037.97.camel@work-vm \
    --to=johnstul@us.ibm.com \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=rabin.vincent@stericsson.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox