Re: [RFC] arm64: failed when run the command: timedatectl set-timezone Asia/Shanghai

From: Jon Masters
Date: Mon Jan 18 2016 - 02:24:28 EST


Hi Mark, Xishi,

On 1/13/16, 5:09 AM, Mark Rutland wrote:
On Wed, Jan 13, 2016 at 09:16:43AM +0800, Xishi Qiu wrote:
On 2016/1/12 18:59, Steve Capper wrote:

On 12 January 2016 at 03:32, Xishi Qiu <qiuxishi@xxxxxxxxxx> wrote:
On 2016/1/12 10:47, Xishi Qiu wrote:

Failed when run the command: timedatectl set-timezone Asia/Shanghai
But CONFIG_PGTABLE_LEVELS=3 is OK, and CONFIG_PGTABLE_LEVELS=4 is failed.
The kernel is v4.1, and this command need the lib polikit.

Is this the bug of kernel?

As noted by others, this is a problem with interpretation by certain userspace (probably not restricted to mozjs) applications of their ability to use the high order bits of a VA. It's actually been flagged a few times by others in both RHEL(SA) and Fedora as well, but I've pointed out (at least in the former) that we're not building with a 48-bit VA currently so it won't be as visible for the moment. That means if you're consuming a Cent7 kernel from Jim/etc. it'll probably not fall over out of the box (copying him so he knows about this - it's been coming up a bit over the past few days in some other conversation).

This definitely needs fixing in upstream polkit builds, and a general education exercise needs to be initiated so that people don't get this wrong in future (but it's guaranteed that they will). FWIW my personal opinion is that tagged pointers are dangerous and should never have happened (because you can't trust people/there will be code out there for years that will have broken assumptions and never be fixed).

Jon.