On 20/02/2018 at 15:55:07 -0800, Joe Perches wrote: > On Tue, 2018-02-20 at 23:43 +0200, Andy Shevchenko wrote: > > +static noinline_for_stack > > +char *time_str(char *buf, char *end, const struct rtc_time *tm, bool v, bool r) > > +{ > > Maybe use unsigned int temporaries here too for hour, min, sec > > > + if (unlikely(v && (unsigned int)tm->tm_hour > 24)) > > + buf = string(buf, end, "**", default_str_spec); > > + else > > + buf = number(buf, end, tm->tm_hour, default_dec02_spec); > > + > > + if (buf < end) > > + *buf = ':'; > > + buf++; > > + > > + if (unlikely(v && (unsigned int)tm->tm_min > 59)) > > leap seconds are allowed in the struct > No, they are not: https://elixir.bootlin.com/linux/v4.15.4/source/drivers/rtc/rtc-lib.c#L108 -- Alexandre Belloni, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com