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  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, 23 May 2019 17:11:40 -0700
From:   Stephen Boyd <swboyd@...omium.org>
To:     Fabiano Rosas <farosas@...ux.ibm.com>,
        Leonard Crestez <leonard.crestez@....com>
Cc:     "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Jan Kiszka <jan.kiszka@...mens.com>,
        Kieran Bingham <kbingham@...nel.org>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Jackie Liu <liuyun01@...inos.cn>
Subject: Re: [PATCH] scripts/gdb: Fix invocation when CONFIG_COMMON_CLK is not set

Quoting Leonard Crestez (2019-05-23 16:09:18)
> On 5/24/2019 1:46 AM, Stephen Boyd wrote:
> > Quoting Fabiano Rosas (2019-05-23 12:53:11)
> >> diff --git a/scripts/gdb/linux/constants.py.in b/scripts/gdb/linux/constants.py.in
> >> index 1d73083da6cb..2efbec6b6b8d 100644
> >> --- a/scripts/gdb/linux/constants.py.in
> >> +++ b/scripts/gdb/linux/constants.py.in
> >> @@ -40,7 +40,8 @@
> >>   import gdb
> >>   
> >>   /* linux/clk-provider.h */
> >> -LX_GDBPARSED(CLK_GET_RATE_NOCACHE)
> >> +if IS_BUILTIN(CONFIG_COMMON_CLK):
> >> +    LX_GDBPARSED(CLK_GET_RATE_NOCACHE)
> >>   
> > 
> > Why is this LX_GDBPARSED() instead of LX_VALUE()? From what I can tell
> > it doesn't need to be runtime evaluated, just assigned to something that
> > is macro expanded by CPP.
> 
> Because CLK_GET_RATE_NOCACHE expands to BIT() which expands to a 
> constant with an UL suffix which python doesn't understand.
> 
> Alternatively we could redefine the BIT macros inside constants.py.in 
> but using gdb features seemed better. We could even try to strip integer 
> literal suffixes with sed.
> 
> Mentioned before: https://lkml.org/lkml/2019/5/3/341
> 

Ah ok. A comment in the code would have helped me, but o well.

I'd still like to apply this change to clk tree so that we can avoid
needing to do the IS_BUILTIN check entirely.

----8<----
From: Stephen Boyd <sboyd@...nel.org>
Date: Thu, 23 May 2019 17:05:59 -0700
Subject: [PATCH] clk: Remove ifdef for COMMON_CLK in clk-provider.h

This ifdef has been there since the beginning of this file, but it
doesn't really seem to serve any purpose besides obfuscating the struct
definitions and #defines here from compilation units that include it.
Let's always expose these function prototypes and struct definitions so
that code can inspect clk providers without needing to have
CONFIG_COMMON_CLK enabled.

Signed-off-by: Stephen Boyd <sboyd@...nel.org>
---
 include/linux/clk-provider.h | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index bb6118f79784..3bced2ec9f26 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -9,8 +9,6 @@
 #include <linux/of.h>
 #include <linux/of_clk.h>
 
-#ifdef CONFIG_COMMON_CLK
-
 /*
  * flags used across common struct clk.  these flags should only affect the
  * top-level framework.  custom flags for dealing with hardware specifics
@@ -1019,5 +1017,4 @@ static inline int of_clk_detect_critical(struct device_node *np, int index,
 
 void clk_gate_restore_context(struct clk_hw *hw);
 
-#endif /* CONFIG_COMMON_CLK */
 #endif /* CLK_PROVIDER_H */
-- 
Sent by a computer through tubes

Powered by blists - more mailing lists