linux/drivers/rtc
Maciej W. Rozycki 945185a69d rtc: rtc_time_to_tm: use unsigned arithmetic
The input argument to rtc_time_to_tm() is unsigned as well as are members of
the output structure.  However signed arithmetic is used within for
calculations leading to incorrect results for input values outside the signed
positive range.  If this happens the time of day returned is out of range.

Found the problem when fiddling with the RTC and the driver where year was set
to an unexpectedly large value like 2070, e.g.:

rtc0: setting system clock to 2070-01-01 1193046:71582832:26 UTC (3155760954)

while it should be:

rtc0: setting system clock to 2070-01-01 00:15:54 UTC (3155760954)

Changing types to unsigned fixes the problem.

[akpm@linux-foundation.org: remove old-fashioned `register' keyword]
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: David Brownell <david-b@pacbell.net>
Cc: Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-05-13 08:02:25 -07:00
..
class.c RTC: periodic irq fix 2007-10-16 09:43:13 -07:00
hctosys.c rtc_hctosys expects RTCs in UTC (doc) 2007-11-14 18:45:36 -08:00
interface.c rtc: use class iteration api 2008-01-24 20:40:44 -08:00
Kconfig rtc: avoid legacy drivers with generic framework 2008-04-28 08:58:16 -07:00
Makefile rtc: add support for the S-35390A RTC chip 2008-03-04 16:35:09 -08:00
rtc-at32ap700x.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-at91rm9200.c rtc: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:17 -07:00
rtc-at91sam9.c rtc: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:17 -07:00
rtc-bfin.c Remove duplicated unlikely() in IS_ERR() 2008-04-29 08:06:25 -07:00
rtc-cmos.c rtc: dont reference pnp_resource_table directly 2008-04-29 03:22:27 -04:00
rtc-core.h rtc: update to class device removal patches 2007-05-08 11:15:18 -07:00
rtc-dev.c rtc-cmos alarm acts as oneshot 2008-02-06 10:41:13 -08:00
rtc-ds1216.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-ds1302.c rtc: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:17 -07:00
rtc-ds1307.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
rtc-ds1374.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
rtc-ds1511.c fix irq flags in rtc-ds1511 2008-05-08 10:46:55 -07:00
rtc-ds1553.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-ds1672.c rtc: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:17 -07:00
rtc-ds1742.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-ep93xx.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-isl1208.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
rtc-lib.c rtc: rtc_time_to_tm: use unsigned arithmetic 2008-05-13 08:02:25 -07:00
rtc-m41t80.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
rtc-m48t59.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-m48t86.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-max6900.c rtc: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:17 -07:00
rtc-max6902.c rtc: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:17 -07:00
rtc-omap.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-pcf8563.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
rtc-pcf8583.c rtc-pcf8583 build fix 2008-04-28 08:58:16 -07:00
rtc-pl031.c remove asm/bitops.h includes 2007-10-19 11:53:41 -07:00
rtc-proc.c drivers: use non-racy method for proc entries creation (2) 2008-04-29 08:06:22 -07:00
rtc-r9701.c rtc-r9701.c: silence compiler warning 2008-02-09 23:27:01 -08:00
rtc-rs5c313.c rtc: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:17 -07:00
rtc-rs5c348.c [PATCH] rtc: Make rtc-rs5c348 driver hotplug-aware 2007-08-27 02:16:58 +01:00
rtc-rs5c372.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00
rtc-s3c.c rtc: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:17 -07:00
rtc-s35390a.c i2c: Match dummy devices by type 2008-05-11 20:37:06 +02:00
rtc-sa1100.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-sh.c rtc: rtc-sh: Fixup for 64-bit resources. 2008-05-08 19:51:45 +09:00
rtc-stk17ta8.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-sysfs.c rtc: add the support for alarm time relative to current time in sysfs 2008-04-28 08:58:17 -07:00
rtc-test.c rtc: silence section mismatch warning in rtc-test 2008-04-28 08:58:16 -07:00
rtc-v3020.c rtc: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:17 -07:00
rtc-vr41xx.c rtc: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
rtc-x1205.c i2c: Convert most new-style drivers to use module aliasing 2008-04-29 23:11:40 +02:00