diff options
author | John Stultz <john.stultz@linaro.org> | 2012-04-24 22:43:35 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2012-04-26 11:17:01 +0200 |
commit | e48b5e825f9c471cbcbfd934a4c2df27e9d39635 (patch) | |
tree | 4c2d4ce64bcd7ee61a2bbc209299f6678549f17a /drivers/rtc/rtc-mpc5121.c | |
parent | tick: Fix the spurious broadcast timer ticks after resume (diff) | |
download | linux-e48b5e825f9c471cbcbfd934a4c2df27e9d39635.tar.xz linux-e48b5e825f9c471cbcbfd934a4c2df27e9d39635.zip |
rtc: Fix possible null pointer dereference in rtc-mpc5121.c
Mark Loard pointed out:
"For example, this beauty from rtc-mpc5121.c in the same update:
...
rtc->rtc = rtc_device_register("mpc5200-rtc", &op->dev,
&mpc5200_rtc_ops, THIS_MODULE);
...
rtc->rtc->uie_unsupported = 1; // <<<< Ooops NULL pointer >>>>
if (IS_ERR(rtc->rtc)) { // <<<< this needs to be earlier >>>>
err = PTR_ERR(rtc->rtc);
goto out_free_irq;
}
..."
This patch moves setting the uie_unsupported flag to after we validate
the rtc->rtc pointer to resolve this.
Reported by: Mark Lord <kernel@teksavvy.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Link: http://lkml.kernel.org/r/1335300215-21427-1-git-send-email-john.stultz@linaro.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/rtc/rtc-mpc5121.c')
-rw-r--r-- | drivers/rtc/rtc-mpc5121.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c index 42f5f829b3ee..029e421baaed 100644 --- a/drivers/rtc/rtc-mpc5121.c +++ b/drivers/rtc/rtc-mpc5121.c @@ -360,12 +360,11 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op) &mpc5200_rtc_ops, THIS_MODULE); } - rtc->rtc->uie_unsupported = 1; - if (IS_ERR(rtc->rtc)) { err = PTR_ERR(rtc->rtc); goto out_free_irq; } + rtc->rtc->uie_unsupported = 1; return 0; |