[PATCH 3/4] winegstreamer: Convert the Unix library to the __wine_unix_call interface.

Emil Velikov emil.l.velikov at gmail.com
Tue Oct 5 07:43:45 CDT 2021


Hi Zebediah,

On Tue, 5 Oct 2021 at 01:21, Zebediah Figura <zfigura at codeweavers.com> wrote:
>
> Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
> ---
>  dlls/winegstreamer/Makefile.in     |   1 +
>  dlls/winegstreamer/gst_private.h   |  32 ++++-
>  dlls/winegstreamer/main.c          | 197 ++++++++++++++++++++++++++-
>  dlls/winegstreamer/media_source.c  |  44 +++---
>  dlls/winegstreamer/quartz_parser.c |  72 +++++-----
>  dlls/winegstreamer/unixlib.h       | 139 +++++++++++++++----
>  dlls/winegstreamer/wg_parser.c     | 210 ++++++++++++++++++-----------
>  7 files changed, 528 insertions(+), 167 deletions(-)
>
I've looked around for information about the unix library -> unix call
transition, and didn't spot much.
So if you don't mind I'll be asking a couple of, perhaps silly, questions :-)

The transition seems to move the unix library across the user->kernel
space line, from Windows app POV, does it not? At the same time,
what's the practical reason - do apps search through the
process/namespace and fail, as they find the unix libs. Is there any
overhead change - I would imagine it has increased to a point?

In addition, did the team consider using linux kernel style ioctls?
These will allow you to preserve the type of the arguments, their
respective size, as well as access level. This should help with
out-of-bounds access and potentially writing into read-only memory,
say due to a bug or security vulnerability in the unix lib.

Thanks in advance,
Emil



More information about the wine-devel mailing list