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: <20170406100702.GC29947@leverpostej>
Date:   Thu, 6 Apr 2017 11:07:02 +0100
From:   Mark Rutland <mark.rutland@....com>
To:     fu.wei@...aro.org
Cc:     linaro-acpi@...ts.linaro.org, catalin.marinas@....com,
        will.deacon@....com, rruigrok@...eaurora.org, wim@...ana.be,
        wei@...hat.com, lorenzo.pieralisi@....com, al.stone@...aro.org,
        tn@...ihalf.com, timur@...eaurora.org, daniel.lezcano@...aro.org,
        linux-acpi@...r.kernel.org, linux@...ck-us.net, lenb@...nel.org,
        harba@...eaurora.org, julien.grall@....com,
        linux-watchdog@...r.kernel.org, arnd@...db.de,
        marc.zyngier@....com, jcm@...hat.com, cov@...eaurora.org,
        tglx@...utronix.de, linux-arm-kernel@...ts.infradead.org,
        graeme.gregory@...aro.org, rjw@...ysocki.net,
        linux-kernel@...r.kernel.org, leo.duran@....com,
        hanjun.guo@...aro.org, Suravee.Suthikulpanit@....com,
        sudeep.holla@....com, christoffer.dall@...aro.org
Subject: Re: [PATCH v23 09/11] acpi/arm64: Add memory-mapped timer support in
 GTDT driver

On Wed, Apr 05, 2017 at 07:38:09PM +0100, Mark Rutland wrote:
> I tried to fix the issue that Lornzo raised, such that I could queue
> these patches. From looking at this patch in more detail however, I
> think there are further issues that need to be addressed.

Looking again, I see that I was mistaken w.r.t. the multi GT block case.

> > +int __init acpi_arch_timer_mem_init(struct arch_timer_mem *timer_mem,
> > +				    int *timer_count)
> > +{
> > +	int ret;
> > +	void *platform_timer;
> > +
> > +	*timer_count = 0;
> > +	for_each_platform_timer(platform_timer) {
> > +		if (is_timer_block(platform_timer)) {
> > +			ret = gtdt_parse_timer_block(platform_timer, timer_mem);
> > +			if (ret)
> > +				return ret;
> > +			timer_mem++;
> > +			(*timer_count)++;
> > +		}
> > +	}
> 
> If we were to have multiple GT blocks, this would leave timer_mem in an
> inconsistent state. In gtdt_parse_timer_block we'll blat any existing
> timer_mem->cntctlbase, and blat some arbitrary set of frames. however,
> *some* frames may have been held over from a previous iteration.

This is not the case; I had somehow missed the timer_mem++.

Sorry for the noise.

Thanks,
Mark.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ