Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MmGetPhysicalAddress: Attempt to implement MmGetPhysicalAddress #15

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Kreyren
Copy link

@Kreyren Kreyren commented Oct 6, 2019

DO-NOT-MERGE: review prior to merge since i don't know what am i doing..

Referencing: Winetricks/winetricks#1360 (comment)

Signed-off-by: Jacob Hrbek [email protected]


Maintainers

Squash using initial message

DO-NOT-MERGE: review prior to merge since i don't know what am i doing..

Signed-off-by: Jacob Hrbek <[email protected]>
@Kreyren
Copy link
Author

Kreyren commented Oct 6, 2019

Motivation: I would like to learn how the WINE works for me to be able to contribute this is first attempt.


RESEARCH

ptr(s): short-hand for new NativePointer(s)

@Kreyren Kreyren marked this pull request as ready for review October 6, 2019 05:45
@mkljczk
Copy link
Contributor

mkljczk commented Oct 8, 2019

They will not merge this PR. If you want to submit a patch, read https://wiki.winehq.org/Submitting_Patches

jeremyd2019 pushed a commit to jeremyd2019/wine that referenced this pull request Jun 11, 2024
MSYS does a `dup(sockfd)` via DuplicateHandle.
Unfortunately that way the new handle is not contained in
the ws2_32.socket_list.

This change just disables this check to workaround this.


Kind of related: https://bugs.winehq.org/show_bug.cgi?id=54413


wine c:/msys64/usr/bin/git.exe clone --mirror git://sourceware.org/git/newlib-cygwin.git /home/bernhard/MSYS2-packages/msys2-runtime/msys2-runtime


(rr) list fhandler_base::dup
1320    int
1321    fhandler_base::dup (fhandler_base *child, int flags)
1322    {
1323      debug_printf ("in fhandler_base dup");
1324
1325      HANDLE nh;
1326      if (!nohandle () && !archetype)
1327        {
1328          if (!DuplicateHandle (GetCurrentProcess (), get_handle (),
1329                                GetCurrentProcess (), &nh,
1330                                0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS))
1331            {
1332              debug_printf ("dup(%s) failed, handle %p, %E",
1333                            get_name (), get_handle ());
1334              __seterrno ();
1335              return -1;
1336            }
1337
1338          VerifyHandle (nh);
1339          child->set_handle (nh);
1340        }
1341      return 0;
1342    }
(rr) print x
$29 = (HANDLE) 0x150
(rr) bt
#0  fhandler_base::set_handle (this=0x800027a28, x=0x150) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/local_includes/fhandler.h:238
wine-mirror#1  0x000000018011315a in fhandler_base::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/base.cc:1339
wine-mirror#2  0x000000018015a8c8 in fhandler_socket_wsock::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:558
wine-mirror#3  0x000000018005f6ec in dtable::dup_worker (this=0x800004858, oldfh=0x800027318, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:707
wine-mirror#4  0x000000018005fa56 in dtable::dup3 (this=0x800004858, oldfd=3, newfd=4, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:774
wine-mirror#5  0x00000001800dd567 in dup (fd=3) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/syscalls.cc:96
wine-mirror#6  0x00000001801c348b in _sigfe () at sigfe.s:36
wine-mirror#7  0x0000000a00000003 in ?? ()
wine-mirror#8  0x0000000000000040 in ?? ()
wine-mirror#9  0x0a0a0a0a0a0a0a0a in ?? ()
wine-mirror#10 0x0000000a00003e66 in ?? ()
wine-mirror#11 0x0000000a00003e90 in ?? ()
wine-mirror#12 0x000000010050d4b2 in git_connect_git (fd=fd@entry=0xa00003c40, hostandport=0xa00003e70 "sourceware.org", path=0xa00003e50 "/git/newlib-cygwin.git", prog=prog@entry=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", version=version@entry=protocol_v2, flags=flags@entry=0) at connect.c:1257
wine-mirror#13 0x000000010050e4ad in git_connect (fd=fd@entry=0xa00003c40, url=0xa000033e0 "git://sourceware.org/git/newlib-cygwin.git", prog=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", flags=0) at connect.c:1437
wine-mirror#14 0x0000000100622f65 in connect_setup (transport=transport@entry=0xa000038a0, for_push=for_push@entry=0) at transport.c:278
wine-mirror#15 0x0000000100623043 in handshake (transport=0xa000038a0, for_push=0, options=0x67dfc800, must_list_refs=must_list_refs@entry=1) at transport.c:313
wine-mirror#16 0x0000000100623254 in get_refs_via_connect (transport=<optimized out>, for_push=<optimized out>, options=<optimized out>) at transport.c:360
wine-mirror#17 0x0000000100624f9c in transport_get_remote_refs (transport=transport@entry=0xa000038a0, transport_options=transport_options@entry=0x67dfc800) at transport.c:1474
wine-mirror#18 0x0000000100426005 in cmd_clone (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin/clone.c:1274
wine-mirror#19 0x0000000100401330 in run_builtin (p=0x10065a218 <commands+504>, argc=argc@entry=4, argv=argv@entry=0x67dfcc08) at git.c:445
wine-mirror#20 0x00000001004015e2 in handle_builtin (argc=4, argv=0x67dfcc08) at git.c:699
wine-mirror#21 0x0000000100402aa3 in run_argv (argcp=argcp@entry=0x67dfcb70, argv=argv@entry=0x67dfcb78) at git.c:763
wine-mirror#22 0x0000000100402f28 in cmd_main (argc=<optimized out>, argc@entry=5, argv=<optimized out>, argv@entry=0x67dfcc00) at git.c:898
wine-mirror#23 0x00000001004ce4d7 in main (argc=5, argv=0x67dfcc00) at common-main.c:57
jeremyd2019 pushed a commit to jeremyd2019/wine that referenced this pull request Jun 12, 2024
MSYS does a `dup(sockfd)` via DuplicateHandle.
Unfortunately that way the new handle is not contained in
the ws2_32.socket_list.

This change just disables this check to workaround this.


Kind of related: https://bugs.winehq.org/show_bug.cgi?id=54413


wine c:/msys64/usr/bin/git.exe clone --mirror git://sourceware.org/git/newlib-cygwin.git /home/bernhard/MSYS2-packages/msys2-runtime/msys2-runtime


(rr) list fhandler_base::dup
1320    int
1321    fhandler_base::dup (fhandler_base *child, int flags)
1322    {
1323      debug_printf ("in fhandler_base dup");
1324
1325      HANDLE nh;
1326      if (!nohandle () && !archetype)
1327        {
1328          if (!DuplicateHandle (GetCurrentProcess (), get_handle (),
1329                                GetCurrentProcess (), &nh,
1330                                0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS))
1331            {
1332              debug_printf ("dup(%s) failed, handle %p, %E",
1333                            get_name (), get_handle ());
1334              __seterrno ();
1335              return -1;
1336            }
1337
1338          VerifyHandle (nh);
1339          child->set_handle (nh);
1340        }
1341      return 0;
1342    }
(rr) print x
$29 = (HANDLE) 0x150
(rr) bt
#0  fhandler_base::set_handle (this=0x800027a28, x=0x150) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/local_includes/fhandler.h:238
wine-mirror#1  0x000000018011315a in fhandler_base::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/base.cc:1339
wine-mirror#2  0x000000018015a8c8 in fhandler_socket_wsock::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:558
wine-mirror#3  0x000000018005f6ec in dtable::dup_worker (this=0x800004858, oldfh=0x800027318, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:707
wine-mirror#4  0x000000018005fa56 in dtable::dup3 (this=0x800004858, oldfd=3, newfd=4, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:774
wine-mirror#5  0x00000001800dd567 in dup (fd=3) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/syscalls.cc:96
wine-mirror#6  0x00000001801c348b in _sigfe () at sigfe.s:36
wine-mirror#7  0x0000000a00000003 in ?? ()
wine-mirror#8  0x0000000000000040 in ?? ()
wine-mirror#9  0x0a0a0a0a0a0a0a0a in ?? ()
wine-mirror#10 0x0000000a00003e66 in ?? ()
wine-mirror#11 0x0000000a00003e90 in ?? ()
wine-mirror#12 0x000000010050d4b2 in git_connect_git (fd=fd@entry=0xa00003c40, hostandport=0xa00003e70 "sourceware.org", path=0xa00003e50 "/git/newlib-cygwin.git", prog=prog@entry=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", version=version@entry=protocol_v2, flags=flags@entry=0) at connect.c:1257
wine-mirror#13 0x000000010050e4ad in git_connect (fd=fd@entry=0xa00003c40, url=0xa000033e0 "git://sourceware.org/git/newlib-cygwin.git", prog=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", flags=0) at connect.c:1437
wine-mirror#14 0x0000000100622f65 in connect_setup (transport=transport@entry=0xa000038a0, for_push=for_push@entry=0) at transport.c:278
wine-mirror#15 0x0000000100623043 in handshake (transport=0xa000038a0, for_push=0, options=0x67dfc800, must_list_refs=must_list_refs@entry=1) at transport.c:313
wine-mirror#16 0x0000000100623254 in get_refs_via_connect (transport=<optimized out>, for_push=<optimized out>, options=<optimized out>) at transport.c:360
wine-mirror#17 0x0000000100624f9c in transport_get_remote_refs (transport=transport@entry=0xa000038a0, transport_options=transport_options@entry=0x67dfc800) at transport.c:1474
wine-mirror#18 0x0000000100426005 in cmd_clone (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin/clone.c:1274
wine-mirror#19 0x0000000100401330 in run_builtin (p=0x10065a218 <commands+504>, argc=argc@entry=4, argv=argv@entry=0x67dfcc08) at git.c:445
wine-mirror#20 0x00000001004015e2 in handle_builtin (argc=4, argv=0x67dfcc08) at git.c:699
wine-mirror#21 0x0000000100402aa3 in run_argv (argcp=argcp@entry=0x67dfcb70, argv=argv@entry=0x67dfcb78) at git.c:763
wine-mirror#22 0x0000000100402f28 in cmd_main (argc=<optimized out>, argc@entry=5, argv=<optimized out>, argv@entry=0x67dfcc00) at git.c:898
wine-mirror#23 0x00000001004ce4d7 in main (argc=5, argv=0x67dfcc00) at common-main.c:57
jeremyd2019 pushed a commit to jeremyd2019/wine that referenced this pull request Jun 15, 2024
MSYS does a `dup(sockfd)` via DuplicateHandle.
Unfortunately that way the new handle is not contained in
the ws2_32.socket_list.

This change just disables this check to workaround this.


Kind of related: https://bugs.winehq.org/show_bug.cgi?id=54413


wine c:/msys64/usr/bin/git.exe clone --mirror git://sourceware.org/git/newlib-cygwin.git /home/bernhard/MSYS2-packages/msys2-runtime/msys2-runtime


(rr) list fhandler_base::dup
1320    int
1321    fhandler_base::dup (fhandler_base *child, int flags)
1322    {
1323      debug_printf ("in fhandler_base dup");
1324
1325      HANDLE nh;
1326      if (!nohandle () && !archetype)
1327        {
1328          if (!DuplicateHandle (GetCurrentProcess (), get_handle (),
1329                                GetCurrentProcess (), &nh,
1330                                0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS))
1331            {
1332              debug_printf ("dup(%s) failed, handle %p, %E",
1333                            get_name (), get_handle ());
1334              __seterrno ();
1335              return -1;
1336            }
1337
1338          VerifyHandle (nh);
1339          child->set_handle (nh);
1340        }
1341      return 0;
1342    }
(rr) print x
$29 = (HANDLE) 0x150
(rr) bt
#0  fhandler_base::set_handle (this=0x800027a28, x=0x150) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/local_includes/fhandler.h:238
wine-mirror#1  0x000000018011315a in fhandler_base::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/base.cc:1339
wine-mirror#2  0x000000018015a8c8 in fhandler_socket_wsock::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:558
wine-mirror#3  0x000000018005f6ec in dtable::dup_worker (this=0x800004858, oldfh=0x800027318, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:707
wine-mirror#4  0x000000018005fa56 in dtable::dup3 (this=0x800004858, oldfd=3, newfd=4, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:774
wine-mirror#5  0x00000001800dd567 in dup (fd=3) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/syscalls.cc:96
wine-mirror#6  0x00000001801c348b in _sigfe () at sigfe.s:36
wine-mirror#7  0x0000000a00000003 in ?? ()
wine-mirror#8  0x0000000000000040 in ?? ()
wine-mirror#9  0x0a0a0a0a0a0a0a0a in ?? ()
wine-mirror#10 0x0000000a00003e66 in ?? ()
wine-mirror#11 0x0000000a00003e90 in ?? ()
wine-mirror#12 0x000000010050d4b2 in git_connect_git (fd=fd@entry=0xa00003c40, hostandport=0xa00003e70 "sourceware.org", path=0xa00003e50 "/git/newlib-cygwin.git", prog=prog@entry=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", version=version@entry=protocol_v2, flags=flags@entry=0) at connect.c:1257
wine-mirror#13 0x000000010050e4ad in git_connect (fd=fd@entry=0xa00003c40, url=0xa000033e0 "git://sourceware.org/git/newlib-cygwin.git", prog=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", flags=0) at connect.c:1437
wine-mirror#14 0x0000000100622f65 in connect_setup (transport=transport@entry=0xa000038a0, for_push=for_push@entry=0) at transport.c:278
wine-mirror#15 0x0000000100623043 in handshake (transport=0xa000038a0, for_push=0, options=0x67dfc800, must_list_refs=must_list_refs@entry=1) at transport.c:313
wine-mirror#16 0x0000000100623254 in get_refs_via_connect (transport=<optimized out>, for_push=<optimized out>, options=<optimized out>) at transport.c:360
wine-mirror#17 0x0000000100624f9c in transport_get_remote_refs (transport=transport@entry=0xa000038a0, transport_options=transport_options@entry=0x67dfc800) at transport.c:1474
wine-mirror#18 0x0000000100426005 in cmd_clone (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin/clone.c:1274
wine-mirror#19 0x0000000100401330 in run_builtin (p=0x10065a218 <commands+504>, argc=argc@entry=4, argv=argv@entry=0x67dfcc08) at git.c:445
wine-mirror#20 0x00000001004015e2 in handle_builtin (argc=4, argv=0x67dfcc08) at git.c:699
wine-mirror#21 0x0000000100402aa3 in run_argv (argcp=argcp@entry=0x67dfcb70, argv=argv@entry=0x67dfcb78) at git.c:763
wine-mirror#22 0x0000000100402f28 in cmd_main (argc=<optimized out>, argc@entry=5, argv=<optimized out>, argv@entry=0x67dfcc00) at git.c:898
wine-mirror#23 0x00000001004ce4d7 in main (argc=5, argv=0x67dfcc00) at common-main.c:57
jeremyd2019 pushed a commit to jeremyd2019/wine that referenced this pull request Jun 17, 2024
MSYS does a `dup(sockfd)` via DuplicateHandle.
Unfortunately that way the new handle is not contained in
the ws2_32.socket_list.

This change just disables this check to workaround this.


Kind of related: https://bugs.winehq.org/show_bug.cgi?id=54413


wine c:/msys64/usr/bin/git.exe clone --mirror git://sourceware.org/git/newlib-cygwin.git /home/bernhard/MSYS2-packages/msys2-runtime/msys2-runtime


(rr) list fhandler_base::dup
1320    int
1321    fhandler_base::dup (fhandler_base *child, int flags)
1322    {
1323      debug_printf ("in fhandler_base dup");
1324
1325      HANDLE nh;
1326      if (!nohandle () && !archetype)
1327        {
1328          if (!DuplicateHandle (GetCurrentProcess (), get_handle (),
1329                                GetCurrentProcess (), &nh,
1330                                0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS))
1331            {
1332              debug_printf ("dup(%s) failed, handle %p, %E",
1333                            get_name (), get_handle ());
1334              __seterrno ();
1335              return -1;
1336            }
1337
1338          VerifyHandle (nh);
1339          child->set_handle (nh);
1340        }
1341      return 0;
1342    }
(rr) print x
$29 = (HANDLE) 0x150
(rr) bt
#0  fhandler_base::set_handle (this=0x800027a28, x=0x150) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/local_includes/fhandler.h:238
wine-mirror#1  0x000000018011315a in fhandler_base::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/base.cc:1339
wine-mirror#2  0x000000018015a8c8 in fhandler_socket_wsock::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:558
wine-mirror#3  0x000000018005f6ec in dtable::dup_worker (this=0x800004858, oldfh=0x800027318, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:707
wine-mirror#4  0x000000018005fa56 in dtable::dup3 (this=0x800004858, oldfd=3, newfd=4, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:774
wine-mirror#5  0x00000001800dd567 in dup (fd=3) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/syscalls.cc:96
wine-mirror#6  0x00000001801c348b in _sigfe () at sigfe.s:36
wine-mirror#7  0x0000000a00000003 in ?? ()
wine-mirror#8  0x0000000000000040 in ?? ()
wine-mirror#9  0x0a0a0a0a0a0a0a0a in ?? ()
wine-mirror#10 0x0000000a00003e66 in ?? ()
wine-mirror#11 0x0000000a00003e90 in ?? ()
wine-mirror#12 0x000000010050d4b2 in git_connect_git (fd=fd@entry=0xa00003c40, hostandport=0xa00003e70 "sourceware.org", path=0xa00003e50 "/git/newlib-cygwin.git", prog=prog@entry=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", version=version@entry=protocol_v2, flags=flags@entry=0) at connect.c:1257
wine-mirror#13 0x000000010050e4ad in git_connect (fd=fd@entry=0xa00003c40, url=0xa000033e0 "git://sourceware.org/git/newlib-cygwin.git", prog=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", flags=0) at connect.c:1437
wine-mirror#14 0x0000000100622f65 in connect_setup (transport=transport@entry=0xa000038a0, for_push=for_push@entry=0) at transport.c:278
wine-mirror#15 0x0000000100623043 in handshake (transport=0xa000038a0, for_push=0, options=0x67dfc800, must_list_refs=must_list_refs@entry=1) at transport.c:313
wine-mirror#16 0x0000000100623254 in get_refs_via_connect (transport=<optimized out>, for_push=<optimized out>, options=<optimized out>) at transport.c:360
wine-mirror#17 0x0000000100624f9c in transport_get_remote_refs (transport=transport@entry=0xa000038a0, transport_options=transport_options@entry=0x67dfc800) at transport.c:1474
wine-mirror#18 0x0000000100426005 in cmd_clone (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin/clone.c:1274
wine-mirror#19 0x0000000100401330 in run_builtin (p=0x10065a218 <commands+504>, argc=argc@entry=4, argv=argv@entry=0x67dfcc08) at git.c:445
wine-mirror#20 0x00000001004015e2 in handle_builtin (argc=4, argv=0x67dfcc08) at git.c:699
wine-mirror#21 0x0000000100402aa3 in run_argv (argcp=argcp@entry=0x67dfcb70, argv=argv@entry=0x67dfcb78) at git.c:763
wine-mirror#22 0x0000000100402f28 in cmd_main (argc=<optimized out>, argc@entry=5, argv=<optimized out>, argv@entry=0x67dfcc00) at git.c:898
wine-mirror#23 0x00000001004ce4d7 in main (argc=5, argv=0x67dfcc00) at common-main.c:57
@Neustradamus
Copy link

Dear @wine-mirror team,

I would like to know who manage this organization and this repository.

Thanks in advance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants