Commit graph

6 commits

Author SHA1 Message Date
Oleg Dubinskiy a6b281c228
[KS] KsRead/WriteFile: finish IRP initialization and properly setup I/O stack location for it (#5784)
- Initialize the rest of IRP data which is not initialized by IoBuildSynchronousFsdRequest.
- Setup an IO_STACK_LOCATION structure for the IRP before calling the driver's read/write routine.
- Do this for both KsReadFile and KsWriteFile functions in our Kernel Streaming driver (ks.sys).
This fixes several problems when calling these functions from outside, so now they are working correctly, as expected.
Discovered during my audio investigations.
CORE-19232
2023-10-10 13:30:00 -07:00
Oleg Dubinskiy d96b3cd45c
[KS] Fix bug in KsStreamIo (#4663)
Properly set output buffer length in IO Stack Location of the current IRP, since it is passed to KsProbeStreamIrp when calling KsStreamIo, so it fails if the length isn't set properly.

Don't set an input buffer length and the buffer itself, since it isn't passed anywhere, so setting it makes no sense. Moreover, MSDN says that for IOCTL_KS_READ/WRITE_STREAM, only output buffer (and its length) is needed to be set, but not an input one. So it indeed is more correct.

It fixes buffer overflow in KsProbeStreamIrp when attempting to perform the streaming via KsStreamIo. I discovered this bug during my audio refactoring from PR #4660.
2023-10-06 12:36:09 +02:00
Serge Gautherie b326312d52 [KS] KsQueryInformationFile(): Fallback to IRP if FastIO failed
Or, if it succeeded, return the actual NTSTATUS, not an unrelated BOOLEAN.

Addendum to commit 4725a4fd9c (r42117).

CORE-16618
2020-02-17 19:08:57 +03:00
Serge Gautherie 7405dc36b6 [KS] KsQueryInformationFile(): Merge IoStatus and StatusBlock
Addendum to commit 9061b8ee40 (r42334).
2020-02-17 19:08:57 +03:00
Serge Gautherie e2b536bcb1 [KS] KsQueryInformationFile(): Fix 'FastIoQueryBasicInfo' copypasta (#2236)
Addendum to commit 4725a4fd (r42117).
2020-01-07 15:13:40 +01:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
Renamed from reactos/drivers/ksfilter/ks/irp.c (Browse further)