lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51784DA3.5030003@linaro.org>
Date:	Wed, 24 Apr 2013 14:24:51 -0700
From:	John Stultz <john.stultz@...aro.org>
To:	Kay Sievers <kay@...y.org>
CC:	lkml <linux-kernel@...r.kernel.org>,
	stable <stable@...r.kernel.org>, Feng Tang <feng.tang@...el.com>,
	Jason Gunthorpe <jgunthorpe@...idianresearch.com>,
	Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH] time: Revert ALWAYS_USE_PERSISTENT_CLOCK compile time
 optimizaitons

On 04/24/2013 12:18 PM, Kay Sievers wrote:
> On Wed, Apr 24, 2013 at 8:55 PM, John Stultz <john.stultz@...aro.org> wrote:
>> On 04/24/2013 11:41 AM, Kay Sievers wrote:
>>> On Wed, Apr 24, 2013 at 8:32 PM, John Stultz <john.stultz@...aro.org>
>>> wrote:
>>>> Kay Sievers noted that the ALWAYS_USE_PERSISTENT_CLOCK config,
>>>> which enables some minor compile time optimization to avoid
>>>> uncessary code in mostly the suspend/resume path could cause
>>>> problems for userland.
>>>>
>>>> In particular, the dependency for RTC_HCTOSYS on
>>>> !ALWAYS_USE_PERSISTENT_CLOCK, which avoids setting the time
>>>> twice and simplifies suspend/resume, has the side effect
>>>> of causing the /sys/class/rtc/rtcN/hctosys flag to always be
>>>> zero, and this flag is commonly used by udev to setup the
>>>> /dev/rtc symlink to /dev/rtcN, which can cause pain for
>>>> older applications.
>>> FWIW, in the light of the original change, I've just removed the
>>> /dev/rtc creation from the default udev rules now, so that thing will
>>> be phased out in the future.
>> Is that actually wanted? What happens to applications that use /dev/rtc?
>>
>> I think setting up the /dev/rtc link is important. Its just that setting it
>> up exclusively by the hctosys flag is maybe more fragile then we'd like.
>> Instead the hctosys flag maybe should only be used as a hint if there is
>> more then one RTC available.
> So far we only created the symlink for an rtc with the hctosys flag
> set. It was added as a workaround for ARM, which sometimes has
> multiple RTCs. But there is now also logic in udev/systemd anyway to
> search for the system's rtc, which does not rely on the symlink. Other
> commonly used tools we checked just use /dev/rtc0 directly.

Yea, but there are likely a number of legacy applications that will 
still need the /dev/rtc link. I remember lots of pain when the /dev/rtcN 
devices showed up, and I suspect that's all been quiet due to the 
/dev/rtc links.

Dropping that link seems way too risky to me, thus why I'm submitting a 
revert. As I didn't realize the link was dependent on the hctosys flag.


> As mentioned in the mail yesterday, I expected that
> CONFIG_RTC_HCTOSYS=y was also needed on x86. The current udev logic
> would need updating anyway, if we disable CONFIG_RTC_HCTOSYS=y now. So
> let's just find out what's really needed here and add it back properly
> if something really needs it.

I'm really fine with the revert, and would like to avoid any userland 
changes. There's more changes to come in that area of the kernel, so if 
there is any userland implications (which I'd actually prefer to avoid), 
lets make sure they are well thought out and not rushed.

> While we are at it, the interface to read and set the persistent clock
> from userspace, the clock the kernel internally uses, is still to just
> use the /dev/rtc0 device with the ioctls? There is no other native
> kernel timer interface or something else for that, right?

Right, the persistent_clock is only useful to the kernel over the RTC in 
the case where interrupts are disabled. Userland should stick to the 
RTC, and we shouldn't expose the persistent_clock out to userland. I'm 
hoping we'll be able to push the persistent_clock functionality into the 
RTC code (though I suspect the micro embedded folks will complain about 
having to compile the generic rtc core in as well - though we can always 
leave time initialization to userland for those crazier cases).

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ