From patchwork Sat May 7 01:20:51 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Stultz X-Patchwork-Id: 94451 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-gy0-f184.google.com (mail-gy0-f184.google.com [209.85.160.184]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by ozlabs.org (Postfix) with ESMTPS id 40BD2B6F4E for ; Sat, 7 May 2011 11:21:11 +1000 (EST) Received: by gyd8 with SMTP id 8sf4912934gyd.11 for ; Fri, 06 May 2011 18:21:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:mime-version:x-beenthere:received-spf:from:to :cc:subject:date:message-id:x-mailer:in-reply-to:references :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:x-google-group-id:list-post :list-help:list-archive:sender:list-subscribe:list-unsubscribe :content-type; bh=SMuF9dC8JwyBVaRC97DeH/GGrNmJXCkPpu/7bFC1Ass=; b=CR9miSGYhfcKWQPqN7C9y2DzIbxQY0IoVGFyPX1X+mr3pZup/LEZ1By78aLj4vpQof fsVilYhd4Susmo1mJosSQeIpmDMXhS9oPtApHDbs1OEp+zzNweX42wbHXi2BA4rsHTof g8WcHJ5yjzZFhog9GG+rmvbPamXR8/En3rhi4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlegroups.com; s=beta; h=mime-version:x-beenthere:received-spf:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:x-google-group-id:list-post:list-help:list-archive:sender :list-subscribe:list-unsubscribe:content-type; b=uBbclWdDFu6U0KtaGYQXqNmmtL4SNT7bn1qvukz/6PYOY4Q/1PuGuAyHLsp3+sR1+9 LvhBEcpVHvb4DFH7yuxLmmvs0OO1AOgi7VBBT6ovEV4Yo60JMloCIuNxwDA4RsNIGVFz Fz5WfZ3OX54lRfGsEaciEA6pL1TU1h3HaVaH4= Received: by 10.91.170.9 with SMTP id x9mr185269ago.54.1304731267494; Fri, 06 May 2011 18:21:07 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: rtc-linux@googlegroups.com Received: by 10.100.50.34 with SMTP id x34ls491333anx.4.gmail; Fri, 06 May 2011 18:21:07 -0700 (PDT) Received: by 10.101.172.36 with SMTP id z36mr1904312ano.26.1304731267077; Fri, 06 May 2011 18:21:07 -0700 (PDT) Received: by 10.101.172.36 with SMTP id z36mr1904311ano.26.1304731267063; Fri, 06 May 2011 18:21:07 -0700 (PDT) Received: from e9.ny.us.ibm.com (e9.ny.us.ibm.com [32.97.182.139]) by gmr-mx.google.com with ESMTPS id j12si202400ank.5.2011.05.06.18.21.05 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 06 May 2011 18:21:06 -0700 (PDT) Received-SPF: pass (google.com: domain of jstultz@us.ibm.com designates 32.97.182.139 as permitted sender) client-ip=32.97.182.139; Received: from d01relay03.pok.ibm.com (d01relay03.pok.ibm.com [9.56.227.235]) by e9.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p470q6OA029467 for ; Fri, 6 May 2011 20:52:06 -0400 Received: from d01av04.pok.ibm.com (d01av04.pok.ibm.com [9.56.224.64]) by d01relay03.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p471L37x093864 for ; Fri, 6 May 2011 21:21:03 -0400 Received: from d01av04.pok.ibm.com (loopback [127.0.0.1]) by d01av04.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p471L2L2011794 for ; Fri, 6 May 2011 21:21:02 -0400 Received: from kernel.beaverton.ibm.com (kernel.beaverton.ibm.com [9.47.67.96]) by d01av04.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id p471L2nT011776; Fri, 6 May 2011 21:21:02 -0400 Received: by kernel.beaverton.ibm.com (Postfix, from userid 1056) id A09B01E7516; Fri, 6 May 2011 18:21:01 -0700 (PDT) From: John Stultz To: lkml Cc: John Stultz , Wolfram Sang , Alessandro Zummo , Thomas Gleixner , rtc-linux@googlegroups.com Subject: [rtc-linux] [PATCH 08/11] rtc: msm6242: Initialize drvdata before registering device Date: Fri, 6 May 2011 18:20:51 -0700 Message-Id: <1304731254-3238-9-git-send-email-john.stultz@linaro.org> X-Mailer: git-send-email 1.7.3.2.146.gca209 In-Reply-To: <1304731254-3238-1-git-send-email-john.stultz@linaro.org> References: <1304731254-3238-1-git-send-email-john.stultz@linaro.org> X-Original-Sender: john.stultz@linaro.org X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jstultz@us.ibm.com designates 32.97.182.139 as permitted sender) smtp.mail=jstultz@us.ibm.com Reply-To: rtc-linux@googlegroups.com Precedence: list Mailing-list: list rtc-linux@googlegroups.com; contact rtc-linux+owners@googlegroups.com List-ID: X-Google-Group-Id: 712029733259 List-Post: , List-Help: , List-Archive: Sender: rtc-linux@googlegroups.com List-Subscribe: , List-Unsubscribe: , Commit f44f7f96a20 ("RTC: Initialize kernel state from RTC") uncovered an issue in a number of RTC drivers, where the drivers call rtc_device_register before initializing the device or platform drvdata. This frequently results in null pointer dereferences when the rtc_device_register immediately makes use of the rtc device, calling rtc_read_alarm. The solution is to ensure the drvdata is initialized prior to registering the rtc device. CC: Wolfram Sang CC: Alessandro Zummo CC: Thomas Gleixner CC: rtc-linux@googlegroups.com Signed-off-by: John Stultz --- drivers/rtc/rtc-msm6242.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/rtc/rtc-msm6242.c b/drivers/rtc/rtc-msm6242.c index 6782062..fcb113c 100644 --- a/drivers/rtc/rtc-msm6242.c +++ b/drivers/rtc/rtc-msm6242.c @@ -214,6 +214,7 @@ static int __init msm6242_rtc_probe(struct platform_device *dev) error = -ENOMEM; goto out_free_priv; } + platform_set_drvdata(dev, priv); rtc = rtc_device_register("rtc-msm6242", &dev->dev, &msm6242_rtc_ops, THIS_MODULE); @@ -223,10 +224,10 @@ static int __init msm6242_rtc_probe(struct platform_device *dev) } priv->rtc = rtc; - platform_set_drvdata(dev, priv); return 0; out_unmap: + platform_set_drvdata(dev, NULL); iounmap(priv->regs); out_free_priv: kfree(priv);