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]
Date:   Thu, 28 Apr 2022 14:32:14 +0200
From:   "Rafael J. Wysocki" <rafael@...nel.org>
To:     Zhang Rui <rui.zhang@...el.com>
Cc:     Stephen Rothwell <sfr@...b.auug.org.au>,
        "Rafael J. Wysocki" <rjw@...ysocki.net>,
        Artem Bityutskiy <artem.bityutskiy@...ux.intel.com>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Next Mailing List <linux-next@...r.kernel.org>,
        Linux PM list <linux-pm@...r.kernel.org>
Subject: Re: linux-next: build failure after merge of the pm tree

On Thu, Apr 28, 2022 at 10:56 AM Zhang Rui <rui.zhang@...el.com> wrote:
>
> Resend with linux-pm mailing list CCed.
>
> On Thu, 2022-04-28 at 11:00 +1000, Stephen Rothwell wrote:
> > Hi all,
> >
> > After merging the pm tree, today's linux-next build (x86_64
> > allmodconfig)
> > failed like this:
> >
> > drivers/idle/intel_idle.c: In function 'adl_idle_state_table_update':
> > drivers/idle/intel_idle.c:1701:17: error: 'disable_promotion_to_c1e'
> > undeclared (first use in this function)
> >  1701 |                 disable_promotion_to_c1e = true;
> >       |                 ^~~~~~~~~~~~~~~~~~~~~~~~
> > drivers/idle/intel_idle.c:1701:17: note: each undeclared identifier
> > is reported only once for each function it appears in
> > drivers/idle/intel_idle.c:1706:9: error: implicit declaration of
> > function 'c1e_promotion_enable' [-Werror=implicit-function-
> > declaration]
> >  1706 |         c1e_promotion_enable();
> >       |         ^~~~~~~~~~~~~~~~~~~~
> > drivers/idle/intel_idle.c: At top level:
> > drivers/idle/intel_idle.c:1854:13: error: conflicting types for
> > 'c1e_promotion_enable'; have 'void(void)' [-Werror]
> >  1854 | static void c1e_promotion_enable(void)
> >       |             ^~~~~~~~~~~~~~~~~~~~
> > drivers/idle/intel_idle.c:1854:13: error: static declaration of
> > 'c1e_promotion_enable' follows non-static declaration
> > drivers/idle/intel_idle.c:1706:9: note: previous implicit declaration
> > of 'c1e_promotion_enable' with type 'void(void)'
> >  1706 |         c1e_promotion_enable();
> >       |         ^~~~~~~~~~~~~~~~~~~~
> >
> > Caused by commit
> >
> >   39c184a6a9a7 ("intel_idle: Fix the 'preferred_cstates' module
> > parameter")
> >
> > interacting with commit
> >
> >   cc6e234b8264 ("intel_idle: Add AlderLake support")
> >
> > Presumably this should have been fixed up in commit
> >
> >   55ecda6f25ef ("Merge branch 'intel-idle' into linux-next")
> >
> > I have used the pm tree from next-20220427 for today.
> >
> TBH, I'm not quite sure about the Fixes tag below.
>
> Although commit 39c184a6a9a7 is merged later and breaks commit
> cc6e234b8264, but given that commit 39c184a6a9a7 is for -rc material
> and commit cc6e234b8264 and this patch are for next merge window, so I
> still use the orginal ADL intel_idle commit for Fixes tag.

Thanks for the fix.

I think I'll redo the ADL support commit with the below folded in.

> From 9b784d7f9ea5593a92eb6d616523b5f47464e981 Mon Sep 17 00:00:00 2001
> From: Zhang Rui <rui.zhang@...el.com>
> Date: Thu, 28 Apr 2022 09:37:10 +0800
> Subject: [PATCH] intel_idle: fix C1E handling for AlderLake
>
> commit cc6e234b8264 ("intel_idle: Add AlderLake support") disables the C1E
> promotion using the 'disable_promotion_to_c1e' variable, but enables the
> the C1E promotion by invoking c1e_promotion_enable() directly.
>
> Then, commit 39c184a6a9a7 ("intel_idle: Fix the 'preferred_cstates' module
> parameter") removes the 'disable_promotion_to_c1e' variable and introduces
> a new tri-state 'c1e_promotion' variable that can be used for both
> enabling and disabling C1E promotion, on a per CPU basis.
>
> Switch to use the new 'c1e_promotion' variable to fix the build failure,
> and also to do C1E promotion bit update on all CPUs.
>
> Fixes: commit cc6e234b8264 ("intel_idle: Add AlderLake support")
> Signed-off-by: Zhang Rui <rui.zhang@...el.com>
> ---
>  drivers/idle/intel_idle.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
> index 7c081ed26b64..2de6e0a2d9a1 100644
> --- a/drivers/idle/intel_idle.c
> +++ b/drivers/idle/intel_idle.c
> @@ -1698,12 +1698,12 @@ static void __init adl_idle_state_table_update(void)
>                 cpuidle_state_table[1].flags |= CPUIDLE_FLAG_UNUSABLE;
>
>                 /* Disable C1E by clearing the "C1E promotion" bit. */
> -               disable_promotion_to_c1e = true;
> +               c1e_promotion = C1E_PROMOTION_DISABLE;
>                 return;
>         }
>  end:
>         /* Make sure C1E is enabled by default */
> -       c1e_promotion_enable();
> +       c1e_promotion = C1E_PROMOTION_ENABLE;
>  }
>
>  /**
> --
> 2.17.1
>
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ