Message ID | 20200413020538.31322-1-masahiroy@kernel.org |
---|---|
State | New |
Headers | show |
Series | arc: remove #ifndef CONFIG_AS_CFI_SIGNAL_FRAME | expand |
On 4/12/20 7:05 PM, Masahiro Yamada wrote: > CONFIG_AS_CFI_SIGNAL_FRAME is never defined for ARC. > > Suggested-by: Nick Desaulniers <ndesaulniers@google.com> Where, how ? > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > arch/arc/kernel/unwind.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c > index 27ea64b1fa33..f87758a6851b 100644 > --- a/arch/arc/kernel/unwind.c > +++ b/arch/arc/kernel/unwind.c > @@ -1178,11 +1178,9 @@ int arc_unwind(struct unwind_frame_info *frame) > #endif > > /* update frame */ > -#ifndef CONFIG_AS_CFI_SIGNAL_FRAME > if (frame->call_frame > && !UNW_DEFAULT_RA(state.regs[retAddrReg], state.dataAlign)) > frame->call_frame = 0; > -#endif > cfa = FRAME_REG(state.cfa.reg, unsigned long) + state.cfa.offs; > startLoc = min_t(unsigned long, UNW_SP(frame), cfa); > endLoc = max_t(unsigned long, UNW_SP(frame), cfa); Actually there's more scope for cleanup here. The while signal frame stuff is not relevant here at all as this is only kernel stack frames. So all of frame->call_frame stuff is bogus at best. I once had an branch with ~15 patches to clean this all up. Let me go find it. Curious though about the CC list, is this patch part of a bigger series or some such. So many people from all over suddenly interested in ARC ;-) -Vineet
On Mon, Apr 13, 2020 at 2:38 PM Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote: > > On 4/12/20 7:05 PM, Masahiro Yamada wrote: > > CONFIG_AS_CFI_SIGNAL_FRAME is never defined for ARC. > > > > Suggested-by: Nick Desaulniers <ndesaulniers@google.com> > > Where, how ? I was working on various cleanups of x86 CONFIG_AS_* macros. https://lore.kernel.org/patchwork/patch/1214512/ I removed CONFIG_AS_CFI_SIGNAL_FRAME from x86. Nick pointed out the same name macro used in ARC, which is not defined anywhere. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > --- > > > > arch/arc/kernel/unwind.c | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c > > index 27ea64b1fa33..f87758a6851b 100644 > > --- a/arch/arc/kernel/unwind.c > > +++ b/arch/arc/kernel/unwind.c > > @@ -1178,11 +1178,9 @@ int arc_unwind(struct unwind_frame_info *frame) > > #endif > > > > /* update frame */ > > -#ifndef CONFIG_AS_CFI_SIGNAL_FRAME > > if (frame->call_frame > > && !UNW_DEFAULT_RA(state.regs[retAddrReg], state.dataAlign)) > > frame->call_frame = 0; > > -#endif > > cfa = FRAME_REG(state.cfa.reg, unsigned long) + state.cfa.offs; > > startLoc = min_t(unsigned long, UNW_SP(frame), cfa); > > endLoc = max_t(unsigned long, UNW_SP(frame), cfa); > > Actually there's more scope for cleanup here. The while signal frame stuff is not > relevant here at all as this is only kernel stack frames. So all of > frame->call_frame stuff is bogus at best. > > I once had an branch with ~15 patches to clean this all up. Let me go find it. I am not familiar with ARC code. So, I leave this up to you for further cleanups. > > Curious though about the CC list, is this patch part of a bigger series or some > such. So many people from all over suddenly interested in ARC ;-) Presumably, they touched this file in the past, and scripts/get_maintainers.pl picked them up. masahiro@oscar:~/ref/linux$ scripts/get_maintainer.pl -f arch/arc/kernel/unwind.c Vineet Gupta <vgupta@synopsys.com> (supporter:SYNOPSYS ARC ARCHITECTURE,commit_signer:2/5=40%) Kees Cook <keescook@chromium.org> (commit_signer:2/5=40%) "Gustavo A. R. Silva" <gustavo@embeddedor.com> (commit_signer:2/5=40%,authored:2/5=40%,added_lines:3/11=27%,removed_lines:2/14=14%) Enrico Weigelt <info@metux.net> (commit_signer:1/5=20%) Greg Kroah-Hartman <gregkh@linuxfoundation.org> (commit_signer:1/5=20%) Thomas Gleixner <tglx@linutronix.de> (authored:1/5=20%,added_lines:1/11=9%,removed_lines:4/14=29%) Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com> (authored:1/5=20%,added_lines:3/11=27%,removed_lines:3/14=21%) Arnd Bergmann <arnd@arndb.de> (authored:1/5=20%,added_lines:4/11=36%,removed_lines:5/14=36%) linux-snps-arc@lists.infradead.org (open list:SYNOPSYS ARC ARCHITECTURE) linux-kernel@vger.kernel.org (open list) > -Vineet
On Sun, Apr 12, 2020 at 7:06 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > > CONFIG_AS_CFI_SIGNAL_FRAME is never defined for ARC. > > Suggested-by: Nick Desaulniers <ndesaulniers@google.com> > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Thanks for the patch. I worry there may be many preprocessor checks in the kernel that are always true/false. Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> > --- > > arch/arc/kernel/unwind.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c > index 27ea64b1fa33..f87758a6851b 100644 > --- a/arch/arc/kernel/unwind.c > +++ b/arch/arc/kernel/unwind.c > @@ -1178,11 +1178,9 @@ int arc_unwind(struct unwind_frame_info *frame) > #endif > > /* update frame */ > -#ifndef CONFIG_AS_CFI_SIGNAL_FRAME > if (frame->call_frame > && !UNW_DEFAULT_RA(state.regs[retAddrReg], state.dataAlign)) > frame->call_frame = 0; > -#endif > cfa = FRAME_REG(state.cfa.reg, unsigned long) + state.cfa.offs; > startLoc = min_t(unsigned long, UNW_SP(frame), cfa); > endLoc = max_t(unsigned long, UNW_SP(frame), cfa); > -- > 2.25.1 >
diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c index 27ea64b1fa33..f87758a6851b 100644 --- a/arch/arc/kernel/unwind.c +++ b/arch/arc/kernel/unwind.c @@ -1178,11 +1178,9 @@ int arc_unwind(struct unwind_frame_info *frame) #endif /* update frame */ -#ifndef CONFIG_AS_CFI_SIGNAL_FRAME if (frame->call_frame && !UNW_DEFAULT_RA(state.regs[retAddrReg], state.dataAlign)) frame->call_frame = 0; -#endif cfa = FRAME_REG(state.cfa.reg, unsigned long) + state.cfa.offs; startLoc = min_t(unsigned long, UNW_SP(frame), cfa); endLoc = max_t(unsigned long, UNW_SP(frame), cfa);
CONFIG_AS_CFI_SIGNAL_FRAME is never defined for ARC. Suggested-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- arch/arc/kernel/unwind.c | 2 -- 1 file changed, 2 deletions(-)