qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 2/8] linux-user: Add "safe" parameter to do_guest_openat()


From: Ilya Leoshkevich
Subject: Re: [PATCH v3 2/8] linux-user: Add "safe" parameter to do_guest_openat()
Date: Tue, 06 Jun 2023 21:29:07 +0200
User-agent: Evolution 3.46.4 (3.46.4-1.fc37)

On Tue, 2023-06-06 at 11:24 -0700, Richard Henderson wrote:
> On 6/6/23 06:27, Ilya Leoshkevich wrote:
> > @@ -8518,7 +8522,11 @@ int do_guest_openat(CPUArchState *cpu_env,
> > int dirfd, const char *pathname,
> >           return fd;
> >       }
> >   
> > -    return safe_openat(dirfd, path(pathname), flags, mode);
> > +    if (safe) {
> > +        return safe_openat(dirfd, path(pathname), flags, mode);
> > +    } else {
> > +        return openat(dirfd, path(pathname), flags, mode);
> > +    }
> >   }
> 
> I'm not keen on this, as it seems like the wrong abstraction.  But I
> can't immediately 
> think of how it could be better structured.

I also thought about temporarily clearing signal_pending in gdbstub,
but could not convince myself that this were safe.

> The only concrete objection I have is the change of API, which could
> be fixed with return 
> get_errno(openat(...)).

I believe both openat() and safe_openat() return -1 on error and set
errno, or am I missing something?

> 
> With that,
> 
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> 
> 
> r~




reply via email to

[Prev in Thread] Current Thread [Next in Thread]