Commit graph

377 commits

Author SHA1 Message Date
Jérôme Gardou 3adf450867 [REACTOS] Addendum to 5c7ce4475e - Fix MSVC 2015 build
Put data into PAGEDATA or INITDATA sections
Keep section declaration for prototypes

CORE-17540
2021-05-12 11:04:29 +02:00
Jérôme Gardou 6f000979eb [BTRFS] Use addressing relative to RIP 2021-04-28 13:10:23 +02:00
Victor Perevertkin 7194f2f044
[UDFS] Remove /Gz flag from options on MSVC 2021-04-15 06:45:54 +03:00
Victor Perevertkin 74ec94e12c [CMAKE] Some options are only supported by GCC, don't use them for clang
These are (so far):
-Wno-format-overflow
-Wno-nonnull-compare
-Wno-old-style-declaration
-Wno-unused-but-set-variable
2021-04-09 03:58:19 +03:00
Timo Kreuzer ca74467904
[NTOS:CC] Raise status, when CcMapData fails (#3348)
Also add a check in fastfat, that asserts, when CcMapData returns FALSE.
2021-02-09 09:29:48 +01:00
Victor Perevertkin b705df731e
[NTOS:MM][FASTFAT_NEW] Fix DBG usage, fixes Release build 2021-02-05 11:54:10 +03:00
Jérôme Gardou c05f3d8d1c [FASTFAT_NEW] Enable the driver 2021-02-03 09:41:22 +01:00
Jérôme Gardou c9f1501373 [FASTFAT_NEW] Fix callback calling convention 2020-12-31 17:14:04 +01:00
Jérôme Gardou 9e6866402b [FASTFAT_NEW] Fix ReactOS compiler workaround 2020-12-22 11:08:21 +01:00
Jérôme Gardou 57cf5cdc5d [FASTFAT_NEW] Tune compile options and definitions for debugging 2020-12-22 11:08:06 +01:00
Jérôme Gardou db34250b03 [FASTFAT_NEW] Fix build 2020-12-22 11:07:54 +01:00
Joachim Henze 889eab78ca [CDFS] Fix a macro-copy-paste and shrink the binary size CORE-17405 2020-12-18 04:48:31 +01:00
Victor Perevertkin 16e5ce8fb1
[CMAKE] Use C_STANDARD property instead of command line option
Addendum to 64211aa696 and 19779b3f96
2020-12-05 15:35:06 +03:00
Jérôme Gardou 3ec3e1a7f6 [BTRFS] Fix wrong condition check 2020-12-04 15:49:39 +01:00
Jérôme Gardou f424d52488 [EXT2FS] Use GNU89 standard when using CLang 2020-11-16 16:58:10 +01:00
Jérôme Gardou cab3e62f0e [CDFS] Use GNU89 standard when using CLang 2020-11-16 16:58:10 +01:00
Jérôme Gardou 567a5231d5 [NFS41_DRIVER] Use GNU89 standard when compiling with CLang. 2020-11-16 16:58:10 +01:00
Victor Perevertkin 5c7ce4475e
[REACTOS] Cleanup INIT and some PAGE section allocations
- Change INIT_FUNCTION and INIT_SECTION to CODE_SEG("INIT") and DATA_SEG("INIT") respectively
- Remove INIT_FUNCTION from function prototypes
- Remove alloc_text pragma calls as they are not needed anymore
2020-11-02 21:45:31 +03:00
Timo Kreuzer 0e5a4d5afe [PSDK] Import some SAL headers from MS
Taken from https://github.com/microsoft/ChakraCore/tree/master/pal/inc/rt

* Move _Check_return_opt_ and _Check_return_wat_ to crtdefs.h
* Update sal.h from https://github.com/microsoft/ChakraCore/blob/master/pal/inc/rt/sal.h
* Import no_sal2.h from MS and remove the one in NDK
* Import specstrings.h from MS
* Import specstrings_strict.h from MS
* Add specstrings_undef.h (based on defines in specstrings_strict.h)
* Remove __REACTOS__ hacks from cdfs
2020-10-29 06:51:28 +01:00
Thomas Faber 303f17f884
[FASTFAT] Implement the overflow queue. CORE-17344 CORE-17328
This avoids blocking all Ex worker threads in fastfat, thereby making Cc
unable to issue the lazy writes that would unblock those workers.
This is more or less directly taken from fastfat_new.
2020-10-24 19:53:36 +02:00
Jérôme Gardou 7e116f0ef3 [CMAKE] Get rid of replace_compile_flags
Introduce a finer-grained remove_target_compile_option instead
2020-10-20 21:44:54 +02:00
Jérôme Gardou d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
Instead of messing with global variables and the like, we introduce two target properties:
 - WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions
 - WITH_CXX_RTTI: if you need RTTI in your module
You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments
We also introduce two libraries :
 - cpprt: for C++ runtime routines
 - cppstl: for the C++ standard template library

NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++

Finally, we manage the relevant flags with the ad-hoc generator expressions

So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
2020-10-20 21:44:54 +02:00
Thomas Faber 320abafdc3
[FASTFAT] Ensure that deferred write IRP contexts are not touched. CORE-17328
Cc may decide to process deferred writes any time, so the context might
already be freed by the time we return from CcDeferWrite.
Also mark the IRP as pending, since we're going to return STATUS_PENDING.
2020-10-16 16:18:56 +02:00
Jérôme Gardou 612b1f2e6e [UDFS] Fix build with lower optimization level 2020-10-15 11:29:09 +02:00
Doug Lyons 79794b524c
[FASTFAT] Fix create for DOT and DOT-DOT leaving bad directory entry (#3241) 2020-10-12 18:54:06 +03:00
Adam Słaboń 50ff453434
[TRANSLATION] Polish translation update (#3233) 2020-09-26 21:42:36 +03:00
Nguyen Trung Khanh 166f815e7b
[FILESYSTEMS] Fix pool memory disclosure in filesystem drivers supporting FS_INFORMATION_CLASS.FileFsVolumeInformation (#2975)
* FileFsVolumeInformation-memory-disclosure

* remove unnecessary assignment to 0

* fix
2020-09-11 15:51:35 +03:00
Nguyen Trung Khanh ede7a20a17
[FILESYSTEMS] Fix pool memory disclosure in NtQueryAttributesFile handlers (#2926)
Fix pool memory disclosure caused by alignment bytes at the end of the _FILE_BASIC_INFORMATION structure
2020-09-11 15:47:43 +03:00
Thomas Faber dff2d58693
[NPFS] Set completion routine on the correct IRP in NpTransceive. 2020-08-23 17:05:52 +02:00
Serge Gautherie 6b8f3967ae
[REISERFS] Fix MSVC compilation with '_VS_ANALYZE_' (#3013)
'...\write.c(38): error C2373: 'RfsdFloppyFlush': redefinition; different type modifiers'
'...\write.c(45): error C2373: 'RfsdFloppyFlushDpc': redefinition; different type modifiers'
2020-08-18 14:20:30 +03:00
Stanislav Motylkov 06d5ed7ece
[FASTFAT] Support 64 KiB cluster sizes
FAT16 filesystem was not recognized on some 4GB USB flash drives.
This change makes them just work.

References:
- https://chat.reactos.org/reactos/pl/h83pm5ngkffk7qiyrmqnaaopxh
- https://support.microsoft.com/en-us/help/140365/default-cluster-size-for-ntfs-fat-and-exfat

CORE-16511
2020-07-22 19:50:24 +03:00
Serge Gautherie 89971a3757
[CDFS][FLOPPY_NEW] Simplify unsupported NT6.2+ workarounds (#2956) 2020-07-18 15:31:48 +02:00
Victor Perevertkin c40b0866b1
[UDFS] Zero-initialize IO_STATUS_BLOCK data in UDFCommonCreate
Some places have been changed to return FILE_DOES_NOT_EXIST, everything
else just returns 0. FastFAT driver from MS does the same (tm),
so I'm not going to have a big research here.
CORE-16623

Co-authored-by: Suraj K Suresh <kssuraj15@gmail.com>
2020-06-29 02:37:12 +03:00
Serge Gautherie 8983adf967
[FASTFAT_NEW] Sync to upstream 16022c5 (#2938) 2020-06-26 20:03:01 +03:00
Thomas Faber 67592f9750
[NPFS] Fix querying FileAllInformation. 2020-06-24 09:04:05 +02:00
Serge Gautherie ab2b7a6bc6 [FASTFAT_NEW] Simplify unsupported NT6.2+ workarounds 2020-06-21 09:27:44 +03:00
Serge Gautherie 1ceed5ad5a [FASTFAT_NEW] Remove obsolete compiler workarounds
following upgrade to GCC 8.4 and MSVC 2015.
2020-06-21 09:27:44 +03:00
Serge Gautherie 9611e88624 [FASTFAT_NEW] Fix GCC 8.4 build
'.../strucsup.c:...:...: error: 'Ex*NPagedLookasideList' is static but used in inline function 'Fat*' which is not static [-Werror]'
2020-06-21 09:27:44 +03:00
Serge Gautherie f26fa55891 [FASTFAT_NEW] fatdata.h: Properly mark ReactOS own code
Addendum to 3013e15.
2020-06-21 09:27:44 +03:00
Serge Gautherie 924f19f6dc
[REACTOS] Remove executable bits on source files (#2822) 2020-05-20 23:09:44 +02:00
Victor Perevertkin 019f21ee1d
[MEDIA][CMAKE] Create add_driver_inf cmake function
*.inf files for drivers can now be placed along with the driver code
2020-04-26 20:28:04 +03:00
Victor Perevertkin 3c4a68ec46
[BTRFS] Fix amd64 build
CORE-16679
2020-04-23 07:49:35 +03:00
Victor Perevertkin 3ba423996c
[BTRFS] Fix build
CORE-16679
2020-04-23 07:29:04 +03:00
Victor Perevertkin 194ea909fd
[BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.2
CORE-16679
2020-04-23 07:07:36 +03:00
Victor Perevertkin 7e069ccdb2
[CMAKE] Replace custom functions to built-in ones
add_target_compile_definitions -> target_compile_definitions
add_target_compile_flags -> target_compile_options
add_target_include_directories -> target_include_directories
2020-04-16 15:59:38 +03:00
Thomas Faber 80296be1eb
[CMAKE] When disabling C4101, explicitly remove the error flag.
Fixes VC2010 build.
Addendum to 11ecf5c969.
2020-02-24 22:29:33 +01:00
Thomas Faber bd7121862a
[NTFS] Fix use after free in failure case of NtfsMountVolume.
NtfsGetVolumeData frees FileRecLookasideList in case of failure, so don't
free it again.
Dereferencing NewDeviceObject invalidates Vcb.
2020-01-11 14:10:55 +01:00
Suraj K Suresh 88f7be101a [UDFS] Fix uninitialized var use in UDFCommonCreate, return the right error code
CORE-16174
2020-01-11 02:45:45 +02:00
Pierre Schweitzer cc5c307b8e
[BTRFS] Fix MSVC build 2019-11-13 00:03:22 +01:00
Pierre Schweitzer 62e630de4c
[BTRFS] Upgrade to 1.5
CORE-16494
2019-11-12 19:35:43 +01:00
Hermès Bélusca-Maïto 3b2f158593
[NTOS][CLASS2][FFS][WIN32SS] Fix some pool tags so that they correctly appear in pool dump lists.
Reminder: in the code they are defined using reverse byte order
(Windows/ReactOS are little-endian OSes).
2019-11-01 19:12:27 +01:00
Robert Naumann 5f99f5c1a7 [REISERFS] Fix a copy paste Error. CID 1363527 2019-10-23 17:23:05 +02:00
Robert Naumann b8032d98a9 [UDFS] Fix a copy paste error. CID1321910 2019-10-23 17:23:05 +02:00
Pierre Schweitzer 7ff3658f10
[BTRFS] Reenable the MountMgr thread
Now that IOCTL_MOUNTMGR_QUERY_POINTS and IOCTL_MOUNTMGR_CHANGE_NOTIFY have
been fixed, the thread no longer eats 100% CPU nor prevent ReactOS shutdown
2019-09-07 23:28:58 +02:00
Serge Gautherie 400eb23a64 [BTRFS] Revert "Allow driver to start at first stage when no hive is present."
Not needed anymore.

This reverts commit 80e11516b1.
2019-09-07 19:58:03 +02:00
Serge Gautherie e08dc30569 [BTRFS] Revert "Leak the root stream file object on mount."
Not needed anymore.

This reverts commit c13ccc92f6.
2019-09-07 19:58:03 +02:00
Pierre Schweitzer 6e3c0d360b
[BTRFS] bool must be 1-sized
CORE-16366
2019-09-06 08:56:26 +02:00
Pierre Schweitzer dcd463ba98
[BTRFS] Fix fileinfo.c build 2019-09-02 22:17:17 +02:00
Pierre Schweitzer 021e25f249
[BTRFS] Fix create.c build 2019-09-02 22:02:45 +02:00
Pierre Schweitzer fe0a6c9be4
[BTRFS] Fix dirctl.c build 2019-09-02 21:48:54 +02:00
Pierre Schweitzer 318da0c18c
[BTRFS] Upgrade to 1.4
CORE-16354
2019-09-02 08:19:48 +02:00
Hermès Bélusca-Maïto 4016225269
[FFS] Silence some only-informative KdPrints. 2019-08-18 15:26:23 +02:00
Victor Martinez d60acd88cb [UDFS] Avoid freeing Vcb when it couldn't have been allocated in UDFPnpSurpriseRemove()
CORE-11203
2019-08-17 16:49:11 +03:00
Victor Martinez e5e4362b6d [UDFS] Fix NewCFBName leakage in UDFFirstOpenFile()
CORE-11098
2019-08-17 16:49:11 +03:00
Victor Martinez b64865fbdf [UDFS] Fix accessing an already freed pointer in UDFMarkAllocatedAsNotXXX()
CORE-11182
2019-08-17 16:49:11 +03:00
Victor Martinez 4805f0cd73 [UDFS] Don't access OldInIcb after being freed
CORE-11199
2019-08-17 16:49:11 +03:00
Victor Martinez d97e49091d
[UDFS] Fix uninitialized variable
CORE-11216
2019-08-17 15:43:24 +03:00
Sylvain Deverre 4d3df0da50 [NTFS] Correctly find attributes stored in another file record in MFT (and referenced in data stream) 2019-08-16 11:08:29 +02:00
Timo Kreuzer 791b1ad7bd [FASTFAT] Copy an entire field, instead of half-copying it with RtlCopyMemory
Fixes GCC 8 warning:
sdk/include/crt/mingw32/intrin_x86.h:76:12: error: 'memmove' offset [21, 40] from the object at 'DirContext' is out of the bounds of referenced subobject 'Attrib' with type 'unsigned char' at offset 19 [-Werror=array-bounds]
     return memmove(dest, source, num);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
2019-07-20 13:56:18 +02:00
Serge Gautherie 6d238e4513 [FASTFAT_NEW] Fix MSVC builds
CORE-14879
2019-07-04 21:16:12 +02:00
Timo Kreuzer 9590cd15f4 [FASTFAT] Fix use after free when volume is unmounted 2019-06-30 13:57:14 +02:00
Bișoc George 42ce8519b6 [FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() (#1636)
"Most code should not directly call the platform-specific ObfDereferenceObject() function but use the ObDereferenceObject() macro instead."

CORE-16081
2019-06-22 16:20:58 +02:00
Victor Perevertkin 1552434940 [NTFS] Do not print debug message for every function call by default 2019-06-15 19:24:27 +03:00
Pierre Schweitzer 95848cb538
[BTRFS] Fix MSVC build
CORE-16111
2019-06-11 12:50:49 +02:00
Pierre Schweitzer 92543df9e1
[BTRFS] Fix MSVC build
CORE-16111
2019-06-11 12:43:43 +02:00
Pierre Schweitzer f381137c89
[BTRFS] Upgrade to 1.3
CORE-16111
2019-06-11 12:35:19 +02:00
Hermès Bélusca-Maïto 6fb3dcd312
[FASTFAT] Adjust the 'UnCleanCount', followng commit 9c3c0d12. 2019-06-09 19:05:24 +02:00
Hermès Bélusca-Maïto 4b6abeb352
[FASTFAT] Minor cleanup of the main header file. 2019-06-09 17:56:06 +02:00
Serge Gautherie 38db074491 Misc addendum to CORE-14271 (#1529)
* [ADVAPI32] Simplify RtlCreateUnicodeStringFromAsciiz() return value check

RtlCreateUnicodeStringFromAsciiz() returns a BOOLEAN, not a BOOL.

No functional change.

Addendum to
CORE-14271

* [USER32] Simplify RtlCreateUnicodeStringFromAsciiz() return value check

RtlCreateUnicodeStringFromAsciiz() returns a BOOLEAN, not a UINT.

Also, add a FIXME.

No functional change.

Addendum to
CORE-14271

* [USER32] Simplify RegisterClipboardFormatA/W() a bit

No functional change.

* [UDFS] Simplify SeSinglePrivilegeCheck() return value check

No functional change.

Addendum to
CORE-14271
2019-06-04 16:56:33 +02:00
Timo Kreuzer 2944d29969 [REISERFS] Convert a tab to spaces
Fixes GCC 8 warning:
drivers/filesystems/reiserfs/src/memory.c:874:5: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
     if (Mcb->RfsdFcb)
     ^~
drivers/filesystems/reiserfs/src/memory.c:877:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  if (RfsdLoadInode(Vcb, &(Mcb->Key), &RfsdIno)) {
  ^~
2019-05-27 13:22:40 +02:00
Timo Kreuzer 81bdf4e360 [CRT] Add missing posix error codes
These are required by latest mingw-w64 stl and we are mixing this with our crt headers.
Define _CRT_NO_POSIX_ERROR_CODES in all modules that define their own constants.
2019-05-27 13:22:40 +02:00
Pierre Schweitzer 883b1f31ac
[BTRFS] Upgrade to 1.2.1
CORE-16004
2019-05-11 11:20:02 +02:00
Hervé Poussineau 902b86eecf [UDFS] Fix macros to support 'bit' being a complex expression
This is for example used in udf_info/mount.cpp:
    UDFSetUsedBits(new_bm, i & ~(d-1), d);
2019-04-07 19:28:18 +02:00
Hervé Poussineau 5f69f99ce2 [UDFS] Keep same includes/defines on x64 as on other architectures 2019-04-07 19:28:18 +02:00
Hervé Poussineau 33cf2c44c5 [MUP] Use _SEH2_AbnormalTermination() instead of _abnormal_termination()
We're already using SEH2 macros, so also use SEH2 functions
2019-04-07 19:28:18 +02:00
Hervé Poussineau 4c1cbd2b53 [EXT2] Add __REACTOS__ check around changes done in 76910c358f 2019-04-07 18:32:29 +02:00
Jérôme Gardou 23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Pierre Schweitzer 2a104321ee [UDFS] Fix an integer overflow leading to a buffer overrun
Spotted by GCC7
2019-04-04 15:08:21 +02:00
Timo Kreuzer c334c17d69 [UDFS] Fix 64 bit issues 2019-04-02 10:53:23 +02:00
Hervé Poussineau 12c70fb4cf [UDFS] Really use 'logical or' when meant to
'binary or' was also working, but it is less clear.
2019-04-01 11:38:32 +02:00
Hervé Poussineau 76910c358f [EXT2] Correctly zero memory before using it 2019-04-01 11:38:32 +02:00
Pierre Schweitzer f36cbf75e3
[FASTFAT] On volume open, update share access if volume was already open
It was never updated afterwards, leading to a totally loss of share
access information amongst callers.
2019-02-14 10:48:32 +01:00
Pierre Schweitzer 6295cc506e
[OOPS] That was not meant to be pushed/commited 2019-02-10 20:52:55 +01:00
Pierre Schweitzer d2c71d761e
[CRYPTEX] Add French translation 2019-02-10 20:43:14 +01:00
Serge Gautherie 17af7f0c27 [UDFS] Correctly check SeSinglePrivilegeCheck() return value
SeSinglePrivilegeCheck() returns a BOOLEAN, not a NTSTATUS.

CORE-14271
2019-02-10 10:16:55 +01:00
Hermès Bélusca-Maïto 53abbb06b5
[MOUNTMGR][MUP] Use global definition of INIT_FUNCTION/INIT_SECTION (Addendum to 71fefa32). 2019-01-27 02:40:11 +01:00
Joachim Henze 3463b2db9f [CDFS] Addendum to last commit CORE-15659
#endif placed wrong.
Thx Pierre Schweitzer, Thomas Faber, Serge Gautherie
2019-01-22 19:20:47 +01:00
Joachim Henze bccad87f3c [CDFS] Make windows gcc release build compile, regression CORE-15659 2019-01-22 18:49:51 +01:00
Thomas Faber bc002f1708
[FASTFAT] Avoid a use after free in VfatCloseFile. 2019-01-12 16:27:37 +01:00
Thomas Faber bc8307205b
[FASTFAT] Avoid a use after free in VfatCheckForDismount. 2019-01-12 16:27:30 +01:00