[PATCH] powerpc/xmon: symbol lookup length fixed

Mukesh Kumar Chaurasiya mchauras at linux.ibm.com
Thu Oct 24 16:12:12 AEDT 2024


On Thu, Oct 24, 2024 at 12:00:53PM +1100, Michael Ellerman wrote:
> Mukesh Kumar Chaurasiya <mchauras at linux.ibm.com> writes:
> > Currently xmon cannot lookup symbol beyond 64 characters in some cases.
> 
> Can you mention which commands? It looks like it's "ls" and "lp".
Sure.
> 
> > Fix this by using KSYM_NAME_LEN instead of fixed 64 characters.
> >
> > Signed-off-by: Mukesh Kumar Chaurasiya <mchauras at linux.ibm.com>
> > ---
> >  arch/powerpc/xmon/xmon.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
> > index e6cddbb2305f..22b8b5cc4df0 100644
> > --- a/arch/powerpc/xmon/xmon.c
> > +++ b/arch/powerpc/xmon/xmon.c
> > @@ -3662,7 +3662,7 @@ symbol_lookup(void)
> >  	int type = inchar();
> >  	unsigned long addr, cpu;
> >  	void __percpu *ptr = NULL;
> > -	static char tmp[64];
> > +	static char tmp[KSYM_NAME_LEN];
>   
> I think you could use the existing tmpstr buffer.
> 
> It is global so it's a little hard to track down all the users, but I
> think it's only used briefly in get_function_bounds(),
> xmon_print_symbol() and scanhex(). ie. none of the uses persist across
> function calls.
> 
> We don't want to have two 512 byte static arrays lying around if we can
> get by with one.
> 
> cheers
Sure.

Will send out V2.
> >  	switch (type) {
> >  	case 'a':
> > @@ -3671,7 +3671,7 @@ symbol_lookup(void)
> >  		termch = 0;
> >  		break;
> >  	case 's':
> > -		getstring(tmp, 64);
> > +		getstring(tmp, KSYM_NAME_LEN);
> >  		if (setjmp(bus_error_jmp) == 0) {
> >  			catch_memory_errors = 1;
> >  			sync();
> > @@ -3686,7 +3686,7 @@ symbol_lookup(void)
> >  		termch = 0;
> >  		break;
> >  	case 'p':
> > -		getstring(tmp, 64);
> > +		getstring(tmp, KSYM_NAME_LEN);
> >  		if (setjmp(bus_error_jmp) == 0) {
> >  			catch_memory_errors = 1;
> >  			sync();
> > -- 
> > 2.47.0


More information about the Linuxppc-dev mailing list