Address Mapping

Hi Gurus

when i map physical address ( BAR 0 of PCI Device ) into the user space memory in Win95. It is accessible and i can read/write there. But this is not happening in NT. Is there a way to map it in User Space and i read/write from there.

thanx in adv.

sajid


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

All:

I don’t know if this was clear to everyone (espcially those who are NT
only programmers.), but I think its a very interesting question so
please premit me to rephrase:

Under Windows (95/98/ME) driver architechture, you can map a range
physical memory addresses into user mode. User-mode programs are then
free to read/write to this memory directly; without furthur intervention
from the driver. This has two benefits: the logic required to interact
with the device stays in the app (not the driver - the driver is merely
a conduit) and SPEED (it doesn’t get faster than direct). Can a similar
feat be accomplished under Windows NT/2000?

Thanks for any insite.

Tom McCormick
xxxxx@cent-tech.com mailto:xxxxx

-----Original Message-----
From: Sajid Siraj [mailto:xxxxx@yahoo.com]
Sent: Friday, February 02, 2001 12:53 AM
To: NT Developers Interest List
Subject: [ntdev] Address Mapping

Hi Gurus

when i map physical address ( BAR 0 of PCI Device ) into the user space
memory in Win95. It is accessible and i can read/write there. But this
is not happening in NT. Is there a way to map it in User Space and i
read/write from there.

thanx in adv.

sajid

You are currently subscribed to ntdev as: xxxxx@cent-tech.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</mailto:xxxxx>

I don’t think so. I’ve tried to achieve that on NT/2000 and I found no way
to access to the kernel mode address space directly. You can map kernel mode
memory to Virtual Memory addresses (See MS HOWTO # 191840), but I found no
way to directly access to kernel memory, by dereferencing a kernel mode
pointer (80000000-FFFFFFFF). Well, this is the security NT was built
for…

If anyone has discovered something more about this, please post to this
list!

Matteo

----- Original Message -----
From: “Tom McCormick”
To: “NT Developers Interest List”
Sent: Friday, February 02, 2001 4:19 PM
Subject: [ntdev] RE: Address Mapping

All:

I don’t know if this was clear to everyone (espcially those who are NT
only programmers.), but I think its a very interesting question so
please premit me to rephrase:

Under Windows (95/98/ME) driver architechture, you can map a range
physical memory addresses into user mode. User-mode programs are then
free to read/write to this memory directly; without furthur intervention
from the driver. This has two benefits: the logic required to interact
with the device stays in the app (not the driver - the driver is merely
a conduit) and SPEED (it doesn’t get faster than direct). Can a similar
feat be accomplished under Windows NT/2000?

Thanks for any insite.

Tom McCormick
xxxxx@cent-tech.com mailto:xxxxx

-----Original Message-----
From: Sajid Siraj [mailto:xxxxx@yahoo.com]
Sent: Friday, February 02, 2001 12:53 AM
To: NT Developers Interest List
Subject: [ntdev] Address Mapping

Hi Gurus

when i map physical address ( BAR 0 of PCI Device ) into the user space
memory in Win95. It is accessible and i can read/write there. But this
is not happening in NT. Is there a way to map it in User Space and i
read/write from there.

thanx in adv.

sajid

You are currently subscribed to ntdev as: xxxxx@cent-tech.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@dolce.it
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</mailto:xxxxx>

>Under Windows (95/98/ME) driver architechture, you can map a range

physical memory addresses into user mode. User-mode programs are then
free to read/write to this memory directly; without furthur intervention
from the driver. This has two benefits: the logic required to interact
with the device stays in the app (not the driver - the driver is merely
a conduit) and SPEED (it doesn’t get faster than direct). Can a similar
feat be accomplished under Windows NT/2000?

You can, but this is not so trivial thing. Read the “mapmem” sample in the
DDK as one of the 2 ways.
Also - what if 2 instances of the app will be launched? How the accesses to
the driver’s memory will be serialized? No ways of doing this in a reliable
way.
Also - if the memory you’re speaking on are the PCI register pools, then you
must use not just the memory accesses, but WRITE_REGISTER_xxx HAL functions
for them. Accessing them from the app is dangerous.

This is a good solution for devices which have lots of addressable RAM on
them - like the video frame buffers. But if the device uses some registers
and the DMA - then writing the usual driver for it is a much better idea.
Anyway you cannot do the DMA from the user mode in NT.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

You can do that in NT without difficulty.:

Recipe:

First, create an MDL with IoAllocateMdl
Second, map into Kernel space with MmMapIoSpace. Because this is physical
memory the pages are obviously locked.
Finally get a pointer for your user application with MmMapLockedPages. Make
sure you specify UserMode as Access Mode.
Voila!.

Like with any good dinner you have to cleanup after.
Call MmUnmapLockedPages, MmUnmapIoSpace and IoFreeMdl in that order.

Do all that while in the context of your User Application. That means that
you must be a top level driver and in PASSIVE_MODE called
as an IOCTL. Do not do that while in DriverEntry because you would not be
in the context of your application.

This solution is about 100 times faster that another possible solution
offered by Microsoft and called MapMem. Even if offered by
Microsoft the other solution uses an undocumented entity. It’s a memory map
called PhysicalMemory. You can search for that
and try either one, but this one beats MapMem for its simplicity and
efficiency.

Regards,

George Blat

At 05:02 PM 2/2/01 +0100, Matteo Pelati wrote:

I don’t think so. I’ve tried to achieve that on NT/2000 and I found no way
to access to the kernel mode address space directly. You can map kernel mode
memory to Virtual Memory addresses (See MS HOWTO # 191840), but I found no
way to directly access to kernel memory, by dereferencing a kernel mode
pointer (80000000-FFFFFFFF). Well, this is the security NT was built
for…

If anyone has discovered something more about this, please post to this
list!

Matteo

----- Original Message -----
From: “Tom McCormick”
>To: “NT Developers Interest List”
>Sent: Friday, February 02, 2001 4:19 PM
>Subject: [ntdev] RE: Address Mapping
>
>
>All:
>
>I don’t know if this was clear to everyone (espcially those who are NT
>only programmers.), but I think its a very interesting question so
>please premit me to rephrase:
>
>Under Windows (95/98/ME) driver architechture, you can map a range
>physical memory addresses into user mode. User-mode programs are then
>free to read/write to this memory directly; without furthur intervention
>from the driver. This has two benefits: the logic required to interact
>with the device stays in the app (not the driver - the driver is merely
>a conduit) and SPEED (it doesn’t get faster than direct). Can a similar
>feat be accomplished under Windows NT/2000?
>
>Thanks for any insite.
>
>Tom McCormick
>xxxxx@cent-tech.com mailto:xxxxx
>
>-----Original Message-----
>From: Sajid Siraj [mailto:xxxxx@yahoo.com]
>Sent: Friday, February 02, 2001 12:53 AM
>To: NT Developers Interest List
>Subject: [ntdev] Address Mapping

-------------------------------------------
George Blat
BRD Corp
8016 188th SW, Edmonds, WA 98026

phone: 425-775-7475
fax: 781-998-5940
mailto:xxxxx@brd.com
http://www.brd.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</mailto:xxxxx>

Yes. This is similar to what suggested in MS HOWTO # 191840. But in which
range is the pointer returned by MmMapLockedPages ? 80000000-ffffffff or
00000000-7fffffff ? The memory is actually mapped to a VA accessible to User
mode or you can directly access system memory ?

Regards,
Matteo

----- Original Message -----
From: “George Blat”
To: “NT Developers Interest List”
Sent: Friday, February 02, 2001 8:24 PM
Subject: [ntdev] RE: Address Mapping

> You can do that in NT without difficulty.:
>
> Recipe:
>
> First, create an MDL with IoAllocateMdl
> Second, map into Kernel space with MmMapIoSpace. Because this is physical
> memory the pages are obviously locked.
> Finally get a pointer for your user application with MmMapLockedPages.
Make
> sure you specify UserMode as Access Mode.
> Voila!.
>
> Like with any good dinner you have to cleanup after.
> Call MmUnmapLockedPages, MmUnmapIoSpace and IoFreeMdl in that order.
>
> Do all that while in the context of your User Application. That means that
> you must be a top level driver and in PASSIVE_MODE called
> as an IOCTL. Do not do that while in DriverEntry because you would not be
> in the context of your application.
>
> This solution is about 100 times faster that another possible solution
> offered by Microsoft and called MapMem. Even if offered by
> Microsoft the other solution uses an undocumented entity. It’s a memory
map
> called PhysicalMemory. You can search for that
> and try either one, but this one beats MapMem for its simplicity and
> efficiency.
>
> Regards,
>
> George Blat
>
>
>
> At 05:02 PM 2/2/01 +0100, Matteo Pelati wrote:
> >I don’t think so. I’ve tried to achieve that on NT/2000 and I found no
way
> >to access to the kernel mode address space directly. You can map kernel
mode
> >memory to Virtual Memory addresses (See MS HOWTO # 191840), but I found
no
> >way to directly access to kernel memory, by dereferencing a kernel mode
> >pointer (80000000-FFFFFFFF). Well, this is the security NT was built
> >for…
> >
> >If anyone has discovered something more about this, please post to this
> >list!
> >
> >Matteo
> >
> >----- Original Message -----
> >From: “Tom McCormick”
> >To: “NT Developers Interest List”
> >Sent: Friday, February 02, 2001 4:19 PM
> >Subject: [ntdev] RE: Address Mapping
> >
> >
> >All:
> >
> >I don’t know if this was clear to everyone (espcially those who are NT
> >only programmers.), but I think its a very interesting question so
> >please premit me to rephrase:
> >
> >Under Windows (95/98/ME) driver architechture, you can map a range
> >physical memory addresses into user mode. User-mode programs are then
> >free to read/write to this memory directly; without furthur intervention
> >from the driver. This has two benefits: the logic required to interact
> >with the device stays in the app (not the driver - the driver is merely
> >a conduit) and SPEED (it doesn’t get faster than direct). Can a similar
> >feat be accomplished under Windows NT/2000?
> >
> >Thanks for any insite.
> >
> >Tom McCormick
> >xxxxx@cent-tech.com mailto:xxxxx
> >
> >-----Original Message-----
> >From: Sajid Siraj [mailto:xxxxx@yahoo.com]
> >Sent: Friday, February 02, 2001 12:53 AM
> >To: NT Developers Interest List
> >Subject: [ntdev] Address Mapping
>
> -------------------------------------------
> George Blat
> BRD Corp
> 8016 188th SW, Edmonds, WA 98026
>
> phone: 425-775-7475
> fax: 781-998-5940
> mailto:xxxxx@brd.com
> http://www.brd.com
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@dolce.it
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</mailto:xxxxx>

Matteo:

It is for user mode, and so it is in the 0-$7fffffff range. That’s what the
parameter value
UserMode achieves. If you also need a kernel mode address mapped to the same
physical memory you can use MmGetSystemAddressForMdl.

George

At 09:20 PM 2/2/01 +0100, you wrote:

Yes. This is similar to what suggested in MS HOWTO # 191840. But in which
range is the pointer returned by MmMapLockedPages ? 80000000-ffffffff or
00000000-7fffffff ? The memory is actually mapped to a VA accessible to User
mode or you can directly access system memory ?

Regards,
Matteo

----- Original Message -----
From: “George Blat”
>To: “NT Developers Interest List”
>Sent: Friday, February 02, 2001 8:24 PM
>Subject: [ntdev] RE: Address Mapping
>
>
> > You can do that in NT without difficulty.:
> >
> > Recipe:
> >
> > First, create an MDL with IoAllocateMdl
> > Second, map into Kernel space with MmMapIoSpace. Because this is physical
> > memory the pages are obviously locked.
> > Finally get a pointer for your user application with MmMapLockedPages.
>Make
> > sure you specify UserMode as Access Mode.
> > Voila!.
> >
> > Like with any good dinner you have to cleanup after.
> > Call MmUnmapLockedPages, MmUnmapIoSpace and IoFreeMdl in that order.
> >
> > Do all that while in the context of your User Application. That means that
> > you must be a top level driver and in PASSIVE_MODE called
> > as an IOCTL. Do not do that while in DriverEntry because you would not be
> > in the context of your application.
> >
> > This solution is about 100 times faster that another possible solution
> > offered by Microsoft and called MapMem. Even if offered by
> > Microsoft the other solution uses an undocumented entity. It’s a memory
>map
> > called PhysicalMemory. You can search for that
> > and try either one, but this one beats MapMem for its simplicity and
> > efficiency.
> >
> > Regards,
> >
> > George Blat
> >
> >
> >
> > At 05:02 PM 2/2/01 +0100, Matteo Pelati wrote:
> > >I don’t think so. I’ve tried to achieve that on NT/2000 and I found no
>way
> > >to access to the kernel mode address space directly. You can map kernel
>mode
> > >memory to Virtual Memory addresses (See MS HOWTO # 191840), but I found
>no
> > >way to directly access to kernel memory, by dereferencing a kernel mode
> > >pointer (80000000-FFFFFFFF). Well, this is the security NT was built
> > >for…
> > >
> > >If anyone has discovered something more about this, please post to this
> > >list!
> > >
> > >Matteo
> > >
> > >----- Original Message -----
> > >From: “Tom McCormick”
> > >To: “NT Developers Interest List”
> > >Sent: Friday, February 02, 2001 4:19 PM
> > >Subject: [ntdev] RE: Address Mapping
> > >
> > >
> > >All:
> > >
> > >I don’t know if this was clear to everyone (espcially those who are NT
> > >only programmers.), but I think its a very interesting question so
> > >please premit me to rephrase:
> > >
> > >Under Windows (95/98/ME) driver architechture, you can map a range
> > >physical memory addresses into user mode. User-mode programs are then
> > >free to read/write to this memory directly; without furthur intervention
> > >from the driver. This has two benefits: the logic required to interact
> > >with the device stays in the app (not the driver - the driver is merely
> > >a conduit) and SPEED (it doesn’t get faster than direct). Can a similar
> > >feat be accomplished under Windows NT/2000?
> > >
> > >Thanks for any insite.
> > >
> > >Tom McCormick
> > >xxxxx@cent-tech.com mailto:xxxxx
> > >


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</mailto:xxxxx>

Yes, but I wondered if there is a way on NT an app can directly dereference
a pointer in the 80000000-ffffffff range…

not that i know…

Matteo

----- Original Message -----
From: “George Blat”
To: “NT Developers Interest List”
Sent: Friday, February 02, 2001 10:53 PM
Subject: [ntdev] RE: Address Mapping

> Matteo:
>
> It is for user mode, and so it is in the 0-$7fffffff range. That’s what
the
> parameter value
> UserMode achieves. If you also need a kernel mode address mapped to the
same
> physical memory you can use MmGetSystemAddressForMdl.
>
> George
>
> At 09:20 PM 2/2/01 +0100, you wrote:
> >Yes. This is similar to what suggested in MS HOWTO # 191840. But in which
> >range is the pointer returned by MmMapLockedPages ? 80000000-ffffffff or
> >00000000-7fffffff ? The memory is actually mapped to a VA accessible to
User
> >mode or you can directly access system memory ?
> >
> >Regards,
> >Matteo
> >
> >
> >----- Original Message -----
> >From: “George Blat”
> >To: “NT Developers Interest List”
> >Sent: Friday, February 02, 2001 8:24 PM
> >Subject: [ntdev] RE: Address Mapping
> >
> >
> > > You can do that in NT without difficulty.:
> > >
> > > Recipe:
> > >
> > > First, create an MDL with IoAllocateMdl
> > > Second, map into Kernel space with MmMapIoSpace. Because this is
physical
> > > memory the pages are obviously locked.
> > > Finally get a pointer for your user application with MmMapLockedPages.
> >Make
> > > sure you specify UserMode as Access Mode.
> > > Voila!.
> > >
> > > Like with any good dinner you have to cleanup after.
> > > Call MmUnmapLockedPages, MmUnmapIoSpace and IoFreeMdl in that order.
> > >
> > > Do all that while in the context of your User Application. That means
that
> > > you must be a top level driver and in PASSIVE_MODE called
> > > as an IOCTL. Do not do that while in DriverEntry because you would not
be
> > > in the context of your application.
> > >
> > > This solution is about 100 times faster that another possible solution
> > > offered by Microsoft and called MapMem. Even if offered by
> > > Microsoft the other solution uses an undocumented entity. It’s a
memory
> >map
> > > called PhysicalMemory. You can search for that
> > > and try either one, but this one beats MapMem for its simplicity and
> > > efficiency.
> > >
> > > Regards,
> > >
> > > George Blat
> > >
> > >
> > >
> > > At 05:02 PM 2/2/01 +0100, Matteo Pelati wrote:
> > > >I don’t think so. I’ve tried to achieve that on NT/2000 and I found
no
> >way
> > > >to access to the kernel mode address space directly. You can map
kernel
> >mode
> > > >memory to Virtual Memory addresses (See MS HOWTO # 191840), but I
found
> >no
> > > >way to directly access to kernel memory, by dereferencing a kernel
mode
> > > >pointer (80000000-FFFFFFFF). Well, this is the security NT was built
> > > >for…
> > > >
> > > >If anyone has discovered something more about this, please post to
this
> > > >list!
> > > >
> > > >Matteo
> > > >
> > > >----- Original Message -----
> > > >From: “Tom McCormick”
> > > >To: “NT Developers Interest List”
> > > >Sent: Friday, February 02, 2001 4:19 PM
> > > >Subject: [ntdev] RE: Address Mapping
> > > >
> > > >
> > > >All:
> > > >
> > > >I don’t know if this was clear to everyone (espcially those who are
NT
> > > >only programmers.), but I think its a very interesting question so
> > > >please premit me to rephrase:
> > > >
> > > >Under Windows (95/98/ME) driver architechture, you can map a range
> > > >physical memory addresses into user mode. User-mode programs are then
> > > >free to read/write to this memory directly; without furthur
intervention
> > > >from the driver. This has two benefits: the logic required to
interact
> > > >with the device stays in the app (not the driver - the driver is
merely
> > > >a conduit) and SPEED (it doesn’t get faster than direct). Can a
similar
> > > >feat be accomplished under Windows NT/2000?
> > > >
> > > >Thanks for any insite.
> > > >
> > > >Tom McCormick
> > > >xxxxx@cent-tech.com mailto:xxxxx
> > > >
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@dolce.it
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</mailto:xxxxx>

>Under Windows (95/98/ME) driver architechture, you can map a range

physical memory addresses into user mode. User-mode programs are then
free to read/write to this memory directly; without furthur intervention
from the driver. This has two benefits: the logic required to interact
with the device stays in the app (not the driver - the driver is merely
a conduit) and SPEED (it doesn’t get faster than direct). Can a similar
feat be accomplished under Windows NT/2000?

Also note this has the potential to cause your system to be unstable,
depending on how you hardware acts. For example, if you map your device to
user mode, and some app directly writes to the device memory, and that
device memory happens to retry the PCI write’s because your device is busy,
the whole system can be locked on the memory write instruction in your app.
This can cause increased interrupt latency, thread scheduling lockout, and
general PCI bus congestion. There have been video cards which stall writes
to the mapped frame buffer until other commands queued to them have
finished (like large BitBlt’s). The end result was other devices
malfunctioned because interrupt latency was 10+ milliseconds. The solution
was before accessing the buffer, the correct device status bits MUST be
checked.

Unless is device has NO chance of causing bad things to happen, I’d suggest
against mapping memory to user mode. Think in terms of what happens if a
hostile app maps your device memory, can it breach security or crash the
system? If your friendly app can map device memory through an appropriate
IOCTL call, so can a hostile app. The goal usually is for user mode apps to
be unable make the system unstable. This requires drivers not expose any
interfaces that are dangerous.

  • Jan

You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> range is the pointer returned by MmMapLockedPages ? 80000000-ffffffff or

00000000-7fffffff ?

Always the kernel mode range.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

You get kernel range if you pass KernelMode and UserRange (< 0x80000000) if you
pass UserMode.

George

At 04:09 AM 2/4/01 +0300, you wrote:

> range is the pointer returned by MmMapLockedPages ? 80000000-ffffffff or
> 00000000-7fffffff ?

Always the kernel mode range.

Max


You are currently subscribed to ntdev as: xxxxx@brd.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


George Blat
BRD Corp
8016 188th SW, Edmonds, WA 98026

phone: 425-775-7475
fax: 781-998-5940
mailto:xxxxx@brd.com
http://www.brd.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

But then…what happens if you dereference a kernel mode pointer from a user
app …does it crash ?

Matteo

----- Original Message -----
From: “George Blat”
To: “NT Developers Interest List”
Sent: Sunday, February 04, 2001 4:05 AM
Subject: [ntdev] RE: Address Mapping

> You get kernel range if you pass KernelMode and UserRange (< 0x80000000)
if you
> pass UserMode.
>
> George
>
> At 04:09 AM 2/4/01 +0300, you wrote:
> > > range is the pointer returned by MmMapLockedPages ? 80000000-ffffffff
or
> > > 00000000-7fffffff ?
> >
> >Always the kernel mode range.
> >
> > Max
> >
> >
> >—
> >You are currently subscribed to ntdev as: xxxxx@brd.com
> >To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
> -------------------------------------------
> George Blat
> BRD Corp
> 8016 188th SW, Edmonds, WA 98026
>
> phone: 425-775-7475
> fax: 781-998-5940
> mailto:xxxxx@brd.com
> http://www.brd.com
>
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@dolce.it
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

> But then…what happens if you dereference a kernel mode pointer from a
user

app …does it crash ?

Yes.

Max


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com