qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] Add uselib syscall
@ 2008-09-19 13:33 Riku Voipio
  2008-09-19 14:17 ` Kirill A. Shutemov
  2008-09-21 12:59 ` Paul Brook
  0 siblings, 2 replies; 3+ messages in thread
From: Riku Voipio @ 2008-09-19 13:33 UTC (permalink / raw)
  To: qemu-devel


Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
---
 linux-user/syscall.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 6b38d8a..8b8262a 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -282,6 +282,7 @@ extern int flock(int, int);
 extern int setfsuid(int);
 extern int setfsgid(int);
 extern int setgroups(int, gid_t *);
+extern int uselib(const char*);
 
 #define ERRNO_TABLE_SIZE 1200
 
@@ -4313,7 +4314,15 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
 #endif
 #ifdef TARGET_NR_uselib
     case TARGET_NR_uselib:
-        goto unimplemented;
+        {
+            if(!(p = lock_user_string(arg1))) {
+                ret = -TARGET_EFAULT;
+                goto efault;
+            }
+            ret = get_errno(uselib(path(p)));
+            unlock_user(p, arg1, 0);
+        }
+        break;
 #endif
 #ifdef TARGET_NR_swapon
     case TARGET_NR_swapon:
-- 
1.5.6.5


-- 
"rm -rf" only sounds scary if you don't have backups

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] Add uselib syscall
  2008-09-19 13:33 [Qemu-devel] [PATCH] Add uselib syscall Riku Voipio
@ 2008-09-19 14:17 ` Kirill A. Shutemov
  2008-09-21 12:59 ` Paul Brook
  1 sibling, 0 replies; 3+ messages in thread
From: Kirill A. Shutemov @ 2008-09-19 14:17 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1394 bytes --]

On Fri, Sep 19, 2008 at 04:33:27PM +0300, Riku Voipio wrote:
> 
> Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
> ---
>  linux-user/syscall.c |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 6b38d8a..8b8262a 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -282,6 +282,7 @@ extern int flock(int, int);
>  extern int setfsuid(int);
>  extern int setfsgid(int);
>  extern int setgroups(int, gid_t *);
> +extern int uselib(const char*);
>  
>  #define ERRNO_TABLE_SIZE 1200
>  
> @@ -4313,7 +4314,15 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
>  #endif
>  #ifdef TARGET_NR_uselib
>      case TARGET_NR_uselib:
> -        goto unimplemented;
> +        {
> +            if(!(p = lock_user_string(arg1))) {
> +                ret = -TARGET_EFAULT;
> +                goto efault;
> +            }
> +            ret = get_errno(uselib(path(p)));
> +            unlock_user(p, arg1, 0);
> +        }
> +        break;
>  #endif
>  #ifdef TARGET_NR_swapon
>      case TARGET_NR_swapon:

Looks good for me. Added to my patchset.

> -- 
> 1.5.6.5
> 
> 
> -- 
> "rm -rf" only sounds scary if you don't have backups
> 
> 

-- 
Regards,  Kirill A. Shutemov
 + Belarus, Minsk
 + ALT Linux Team, http://www.altlinux.com/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH] Add uselib syscall
  2008-09-19 13:33 [Qemu-devel] [PATCH] Add uselib syscall Riku Voipio
  2008-09-19 14:17 ` Kirill A. Shutemov
@ 2008-09-21 12:59 ` Paul Brook
  1 sibling, 0 replies; 3+ messages in thread
From: Paul Brook @ 2008-09-21 12:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: Riku Voipio

>      case TARGET_NR_uselib:
> -        goto unimplemented;
> +        {
> +            if(!(p = lock_user_string(arg1))) {
> +                ret = -TARGET_EFAULT;
> +                goto efault;
> +            }
> +            ret = get_errno(uselib(path(p)));
> +            unlock_user(p, arg1, 0);
> +        }
> +        break;

I'm pretty sure this is wrong. The last thing we want to be doing is loading a 
host library.

Paul

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-09-21 12:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-19 13:33 [Qemu-devel] [PATCH] Add uselib syscall Riku Voipio
2008-09-19 14:17 ` Kirill A. Shutemov
2008-09-21 12:59 ` Paul Brook

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).