Re: [patch] vdso.7: Fix parisc gateway page description

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23.05.2018 16:49, Michael Kerrisk (man-pages) wrote:
> Hello Helge,
> 
> On 22 May 2018 at 15:14, Helge Deller <deller@xxxxxx> wrote:
>> The parisc gateway page currently only exports 3 functions:
>> The lws_entry for CAS operations (at 0xb0), the set_thread_pointer
>> function for usage in glibc (at 0xe0) and the linux syscall entry (at
>> 0x100).
>>
>> All other symbols in the manpage are internal labels and shouldn't be
>> used directly by userspace or glibc, so drop them from the man page
>> documentation.
> 
> Can I clarify a point here. You say they are "internal labels that
> shouldn't be used". 

Correct.

> This seems a little contradictory. Am I correct to
> understand that what you mean is that those symbols are actually
> visible but should be used? 

... those symbols are actually visible but should NOT be used? 
-> Yes.

The code flow is:
Userspace jumps to 0xb0 which is symbol "lws_entry".
lws_entry then runs across lws_start, then e.g. to lws_compare_and_swap and
returns to userspace via lws_exit.
All symbols beside lws_entry should not be visible to userspace and should not be 
called directly by userspace.
Thus, those symbols should not be listed in the man page either.

Ideally I should mark those symbols as local symbols in the 
kernel source code in a future patch....

> If yes, maybe some words need to be added
> to the text to bring this point across.

I'm fine with any better wording.

Helge


>> Signed-off-by: Helge Deller <deller@xxxxxx>
>>
>> diff --git a/man7/vdso.7 b/man7/vdso.7
>> index 6eec351e5..6ee64ed4b 100644
>> --- a/man7/vdso.7
>> +++ b/man7/vdso.7
>> @@ -322,7 +322,7 @@ set_tid_address
>>  .SS parisc (hppa) functions
>>  .\" See linux/arch/parisc/kernel/syscall.S
>>  .\" See linux/Documentation/parisc/registers
>> -The parisc port has a code page full of utility functions
>> +The parisc port has a code page with utility functions
>>  called a gateway page.
>>  Rather than use the normal ELF auxiliary vector approach,
>>  it passes the address of
>> @@ -344,21 +344,9 @@ for example:
>>  l l.
>>  offset function
>>  _
>> -00b0   lws_entry
>> -00e0   set_thread_pointer
>> +00b0   lws_entry (CAS operations)
>> +00e0   set_thread_pointer (used by glibc)
>>  0100   linux_gateway_entry (syscall)
>> -0268   syscall_nosys
>> -0274   tracesys
>> -0324   tracesys_next
>> -0368   tracesys_exit
>> -03a0   tracesys_sigexit
>> -03b8   lws_start
>> -03dc   lws_exit_nosys
>> -03e0   lws_exit
>> -03e4   lws_compare_and_swap64
>> -03e8   lws_compare_and_swap
>> -0404   cas_wouldblock
>> -0410   cas_action
>>  .TE
>>  .if t \{\
>>  .in
> 
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux