Hi,

Richard, might I ping you about this one?

Reading other mails on this ML, I reckon' you're quite busy - no 
problem, it's not really critical anyway. Just want to make sure the 
updated patch got noticed.

Thanks,

-hwh

Am 2015-06-29 11:50, schrieb Hans-Werner Hilse:
> modify_ldt() was declared as an external symbol. Despite the man
> page for this syscall telling that there is no wrapper in glibc,
> since version 2.1 there actually is, so linking to the glibc
> works.
> 
> Since modify_ldt() is not a POSIX interface, other libc
> implementations do not always provide a wrapper function.
> Even glibc headers do not provide a corresponding declaration.
> 
> So go the recommended way to call this using syscall().
> 
> Signed-off-by: Hans-Werner Hilse <hwhi...@gmail.com>
> ---
>  arch/x86/um/ldt.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/um/ldt.c b/arch/x86/um/ldt.c
> index 9701a4f..836a1eb 100644
> --- a/arch/x86/um/ldt.c
> +++ b/arch/x86/um/ldt.c
> @@ -12,7 +12,10 @@
>  #include <skas.h>
>  #include <sysdep/tls.h>
> 
> -extern int modify_ldt(int func, void *ptr, unsigned long bytecount);
> +static inline int modify_ldt (int func, void *ptr, unsigned long 
> bytecount)
> +{
> +     return syscall(__NR_modify_ldt, func, ptr, bytecount);
> +}
> 
>  static long write_ldt_entry(struct mm_id *mm_idp, int func,
>                    struct user_desc *desc, void **addr, int done)


------------------------------------------------------------------------------
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to