lkml.org 
[lkml]   [2006]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] RTC: Ensure that time being passed to set_alarm() is valid.
    On Wed, 7 Jun 2006 11:39:11 -0700
    Andrew Morton <akpm@osdl.org> wrote:

    > > diff -urN -x CVS linux-2.6.17-rc6/drivers/rtc/interface.c
    > > linux-2.6.17-rc/drivers/rtc/interface.c
    > > --- linux-2.6.17-rc6/drivers/rtc/interface.c Tue Jun 6 10:28:05 2006
    > > +++ linux-2.6.17-rc/drivers/rtc/interface.c Wed Jun 7 11:46:28 2006
    > > @@ -129,6 +129,10 @@
    > > int err;
    > > struct rtc_device *rtc = to_rtc_device(class_dev);
    > >
    > > + err = rtc_valid_tm(&alarm->time);
    > > + if (err != 0)
    > > + return err;
    > > +
    > > err = mutex_lock_interruptible(&rtc->ops_lock);
    > > if (err)
    > > return -EBUSY;
    > >
    >
    > More details, please. How can this situation come about? Buggy kernel
    > code? Userspace action?

    both of them. this call is used by the dev interface
    but might also be used by any in-kernel user (there are none
    at the moment, but we might have them in the future).

    the same kind of check is done in rtc_set_time()
    for the same reason.

    however, the dev interface (RTC_ALM_SET)
    sets some of the tm fields to -1, which is
    invalid for rtc_valid_tm.

    I haven't thought of this when I suggested to Andrew Victor
    to add this rtc_valid_tm call.

    so we might have to remove this call or to modify
    rtc_valid_tm to detect this.

    suggestions?

    --

    Best regards,

    Alessandro Zummo,
    Tower Technologies - Turin, Italy

    http://www.towertech.it

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-06-07 20:53    [W:0.023 / U:4.648 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site