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] [day] [month] [year] [list]
Message-ID: <056ca6a5-6612-0794-c6a0-fdebb68e9937@codeaurora.org>
Date:   Tue, 17 Oct 2017 09:48:32 -0400
From:   Tyler Baicar <tbaicar@...eaurora.org>
To:     Kees Cook <keescook@...omium.org>,
        "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>
Cc:     "Rafael J. Wysocki" <rjw@...ysocki.net>,
        Len Brown <lenb@...nel.org>, Tony Luck <tony.luck@...el.com>,
        Borislav Petkov <bp@...en8.de>,
        Will Deacon <will.deacon@....com>,
        James Morse <james.morse@....com>,
        "Jonathan (Zhixiong) Zhang" <zjzhang@...eaurora.org>,
        Shiju Jose <shiju.jose@...wei.com>, linux-acpi@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ACPI / APEI: Convert timers to use timer_setup()

On 10/16/2017 7:21 PM, Kees Cook wrote:
> In preparation for unconditionally passing the struct timer_list pointer to
> all timer callbacks, switch to using the new timer_setup() and from_timer()
> to pass the timer pointer explicitly.
>
> Cc: "Rafael J. Wysocki" <rjw@...ysocki.net>
> Cc: Len Brown <lenb@...nel.org>
> Cc: Tony Luck <tony.luck@...el.com>
> Cc: Borislav Petkov <bp@...en8.de>
> Cc: Tyler Baicar <tbaicar@...eaurora.org>
> Cc: Will Deacon <will.deacon@....com>
> Cc: James Morse <james.morse@....com>
> Cc: "Jonathan (Zhixiong) Zhang" <zjzhang@...eaurora.org>
> Cc: Shiju Jose <shiju.jose@...wei.com>
> Cc: linux-acpi@...r.kernel.org
> Signed-off-by: Kees Cook <keescook@...omium.org>
Tested-by: Tyler Baicar <tbaicar@...eaurora.org>

Verified that the polled error sources still work with this timer setup.

Thanks,
Tyler
> ---
>   drivers/acpi/apei/ghes.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> index 3c3a37b8503b..ebaa51ba8a22 100644
> --- a/drivers/acpi/apei/ghes.c
> +++ b/drivers/acpi/apei/ghes.c
> @@ -774,9 +774,9 @@ static void ghes_add_timer(struct ghes *ghes)
>   	add_timer(&ghes->timer);
>   }
>   
> -static void ghes_poll_func(unsigned long data)
> +static void ghes_poll_func(struct timer_list *t)
>   {
> -	struct ghes *ghes = (void *)data;
> +	struct ghes *ghes = from_timer(ghes, t, timer);
>   
>   	ghes_proc(ghes);
>   	if (!(ghes->flags & GHES_EXITING))
> @@ -1147,8 +1147,7 @@ static int ghes_probe(struct platform_device *ghes_dev)
>   
>   	switch (generic->notify.type) {
>   	case ACPI_HEST_NOTIFY_POLLED:
> -		setup_deferrable_timer(&ghes->timer, ghes_poll_func,
> -				       (unsigned long)ghes);
> +		timer_setup(&ghes->timer, ghes_poll_func, TIMER_DEFERRABLE);
>   		ghes_add_timer(ghes);
>   		break;
>   	case ACPI_HEST_NOTIFY_EXTERNAL:

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ