This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: [PATCH] winsup/cygwin: Protect fork() against dll- and exe-updates.
- From: cyg Simple <cygsimple at gmail dot com>
- To: cygwin-developers at cygwin dot com
- Date: Fri, 7 Aug 2015 12:37:21 -0400
- Subject: Re: [PATCH] winsup/cygwin: Protect fork() against dll- and exe-updates.
- Authentication-results: sourceware.org; auth=none
- References: <20150727075053 dot GD7535 at calimero dot vinschen dot de> <55B7B079 dot 7030700 at ssi-schaefer dot com> <20150729132211 dot GP7535 at calimero dot vinschen dot de> <55BB5CBC dot 6040900 at ssi-schaefer dot com> <20150803202158 dot GH17917 at calimero dot vinschen dot de> <55C4C867 dot 2000200 at gmail dot com> <20150807161841 dot GA10406 at calimero dot vinschen dot de>
On 8/7/2015 12:18 PM, Corinna Vinschen wrote:
> On Aug 7 11:01, cyg Simple wrote:
>> On 8/3/2015 4:21 PM, Corinna Vinschen wrote:
>>>
>>> The HMODULE is only the address of the section so, no, there's no way to
>>> do an NtCreateFile with this information alone. As for the file id, I
>>> never tried NtOpenFile w/ FILE_OPEN_BY_FILE_ID. The usage description
>>> in the WDK docs is a bit vague, but it does work. You just have to have
>>> the file id from some earlier call to NtQueryInformationFile.
>>>
>>
>>
>> I seem to remember that the file id isn't guaranteed to be constant on
>> Windows FS, especially FAT, unless you keep the file open.
>
> FAT doesn't support opening files by file ID. On NTFS, file IDs are
> constant and unique per file as long as it exists. Se the remarks
> secion in
>
> https://msdn.microsoft.com/en-us/library/windows/desktop/aa363788%28v=vs.85%29.aspx
>
Okay good. The first paragraph was what I was remembering.
But ReplaceFile could use the same ID on the replacement file; that
could cause issues if you expect the name to be the same.
--
cyg Simple