diff mbox series

mksysmap: Fix the mismatch of '.L' symbols in System.map

Message ID 1590920904-60002-1-git-send-email-alios_sys_security@linux.alibaba.com (mailing list archive)
State New, archived
Headers show
Series mksysmap: Fix the mismatch of '.L' symbols in System.map | expand

Commit Message

AliOS system security May 31, 2020, 10:28 a.m. UTC
When System.map was generated, the kernel used mksysmap to filter the
kernel symbols, but all the symbols with the second letter 'L' in the
kernel were filtered out, not just the symbols starting with 'dot + L'.

For example:
ashimida@ubuntu:~/linux$ cat System.map |grep ' .L'
ashimida@ubuntu:~/linux$ nm -n vmlinux |grep ' .L'
ffff0000088028e0 t bLength_show
......
ffff0000092e0408 b PLLP_OUTC_lock
ffff0000092e0410 b PLLP_OUTA_lock

I see that in the original patch[1], the original intent should be to
filter all local symbols starting with '.L', so I wonder if the code
here may add a '\' before '.L'?

[1]. mksysmap: Add h8300 local symbol pattern

Signed-off-by: AliOS system security <alios_sys_security@linux.alibaba.com>
---
 scripts/mksysmap | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Masahiro Yamada June 1, 2020, 11:01 a.m. UTC | #1
On Sun, May 31, 2020 at 7:28 PM AliOS system security
<alios_sys_security@linux.alibaba.com> wrote:
>
> When System.map was generated, the kernel used mksysmap to filter the
> kernel symbols, but all the symbols with the second letter 'L' in the
> kernel were filtered out, not just the symbols starting with 'dot + L'.
>
> For example:
> ashimida@ubuntu:~/linux$ cat System.map |grep ' .L'
> ashimida@ubuntu:~/linux$ nm -n vmlinux |grep ' .L'
> ffff0000088028e0 t bLength_show
> ......
> ffff0000092e0408 b PLLP_OUTC_lock
> ffff0000092e0410 b PLLP_OUTA_lock
>
> I see that in the original patch[1], the original intent should be to
> filter all local symbols starting with '.L', so I wonder if the code
> here may add a '\' before '.L'?


You are right, but please avoid the interrogatory sentence.

Shall I reword as follows?


The original intent should be to filter out all local symbols
starting with '.L', so the dot should be escaped.





>
> [1]. mksysmap: Add h8300 local symbol pattern
>
> Signed-off-by: AliOS system security <alios_sys_security@linux.alibaba.com>
> ---
>  scripts/mksysmap | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/mksysmap b/scripts/mksysmap
> index a35acc0..9aa23d1 100755
> --- a/scripts/mksysmap
> +++ b/scripts/mksysmap
> @@ -41,4 +41,4 @@
>  # so we just ignore them to let readprofile continue to work.
>  # (At least sparc64 has __crc_ in the middle).
>
> -$NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)\|\( .L\)' > $2
> +$NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)\|\( \.L\)' > $2
> --
> 2.7.4
>
Masahiro Yamada June 2, 2020, 1:50 a.m. UTC | #2
On Sun, May 31, 2020 at 7:28 PM AliOS system security
<alios_sys_security@linux.alibaba.com> wrote:
>
> When System.map was generated, the kernel used mksysmap to filter the
> kernel symbols, but all the symbols with the second letter 'L' in the
> kernel were filtered out, not just the symbols starting with 'dot + L'.
>
> For example:
> ashimida@ubuntu:~/linux$ cat System.map |grep ' .L'
> ashimida@ubuntu:~/linux$ nm -n vmlinux |grep ' .L'
> ffff0000088028e0 t bLength_show
> ......
> ffff0000092e0408 b PLLP_OUTC_lock
> ffff0000092e0410 b PLLP_OUTA_lock
>
> I see that in the original patch[1], the original intent should be to
> filter all local symbols starting with '.L', so I wonder if the code
> here may add a '\' before '.L'?
>
> [1]. mksysmap: Add h8300 local symbol pattern
>
> Signed-off-by: AliOS system security <alios_sys_security@linux.alibaba.com>


I think you should submit this patch
with your real name instead of
the team name.
AliOS system security June 2, 2020, 6:41 a.m. UTC | #3
Thanks for your suggestion, I will use my personal account to post
a new version later, and amend this comment.

On 2020/6/1 19:01, Masahiro Yamada wrote:
 > On Sun, May 31, 2020 at 7:28 PM AliOS system security
 > <alios_sys_security@linux.alibaba.com> wrote:
 >>
 >> When System.map was generated, the kernel used mksysmap to filter the
 >> kernel symbols, but all the symbols with the second letter 'L' in the
 >> kernel were filtered out, not just the symbols starting with 'dot + L'.
 >>
 >> For example:
 >> ashimida@ubuntu:~/linux$ cat System.map |grep ' .L'
 >> ashimida@ubuntu:~/linux$ nm -n vmlinux |grep ' .L'
 >> ffff0000088028e0 t bLength_show
 >> ......
 >> ffff0000092e0408 b PLLP_OUTC_lock
 >> ffff0000092e0410 b PLLP_OUTA_lock
 >>
 >> I see that in the original patch[1], the original intent should be to
 >> filter all local symbols starting with '.L', so I wonder if the code
 >> here may add a '\' before '.L'?
 >
 >
 > You are right, but please avoid the interrogatory sentence.
 >
 > Shall I reword as follows?
 >
 >
 > The original intent should be to filter out all local symbols
 > starting with '.L', so the dot should be escaped.
 >
 >
 >
 >
 >
 >>
 >> [1]. mksysmap: Add h8300 local symbol pattern
 >>
 >> Signed-off-by: AliOS system security 
<alios_sys_security@linux.alibaba.com>
 >> ---
 >>   scripts/mksysmap | 2 +-
 >>   1 file changed, 1 insertion(+), 1 deletion(-)
 >>
 >> diff --git a/scripts/mksysmap b/scripts/mksysmap
 >> index a35acc0..9aa23d1 100755
 >> --- a/scripts/mksysmap
 >> +++ b/scripts/mksysmap
 >> @@ -41,4 +41,4 @@
 >>   # so we just ignore them to let readprofile continue to work.
 >>   # (At least sparc64 has __crc_ in the middle).
 >>
 >> -$NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)\|\( 
.L\)' > $2
 >> +$NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)\|\( 
\.L\)' > $2
 >> --
 >> 2.7.4
 >>
 >
 >
diff mbox series

Patch

diff --git a/scripts/mksysmap b/scripts/mksysmap
index a35acc0..9aa23d1 100755
--- a/scripts/mksysmap
+++ b/scripts/mksysmap
@@ -41,4 +41,4 @@ 
 # so we just ignore them to let readprofile continue to work.
 # (At least sparc64 has __crc_ in the middle).
 
-$NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)\|\( .L\)' > $2
+$NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)\|\( \.L\)' > $2