Access denied in rdr filter

Hi all,

I’m writing nt4 rdr filter driver. So far, the driver works most of the
time except in certain cases.

The case in particular is during cleanup. I write addition info (by
creating new irp and passing down) to the end of the file and sometimes it
will fail with STATUS_ACCESS_DENIED.

I did not have any work items in my cleanup & create so I did not add
impersonation there but, anyway, whenever there are work items, I’ve
aleady added in impersonation. In addition, I’ve also experimented with
RestrictNullSessAccess on the host system which eliminates the need for
the impersonations but this does not fix this particular access denied
problem. Anybody have any idea why?

Thanks to all in advance,
John

Hi all,

I’ve found that during set security, the rdr does not allow us to r/w.
This messes up the file’s security settings that subsequent attempts to
r/w will also have the same access denied.

In addition, when I try to send a irp read at create, I occasionally have
access denied. Impersonation was not implemented in create as I did not
use the system/work thread.

Anybody have any idea why?

Thanks,
John

Hi,

Well, I’m just going to wrap this up even though no one seems interested
in this. Hopefully, this will be useful to others later.

For access denied of rdr filter during cleanup, it can be due to previous
irp for that file was a set security (of which value i did not trace) or
setinfo (hidden/system attributes). In these case, the local file system
would deny further access because of the setting mismatch.

For access denied during create, it can be due to the create being set for
write through whereby the local file system would then ask the cache
manager to do a unpin-repin operation causing the access denied.

BTW: We will be moving on to XP (and maybe 2k as well) soon after this.
Just working out the last few issues as we still have to support the
current customer requirement.

Regards,
John Lee