crash analysis

I get a Blue screen every now and then in my driver, running on Windows XP
64 bit.

Here are some details about the crash dump file generated.

I am wondering if it is a data type aligment issue or if it is a bad memory
access case.

Ashok

PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced. This cannot be protected by
try-except,
it must be protected by a Probe. Typically the address is just plain bad or
it
is pointing at freed memory.
Arguments:
Arg1: fffffadffcebd010, memory referenced.
Arg2: 0000000000000000, value 0 = read operation, 1 = write operation.
Arg3: fffffadfe3ef08ea, If non-zero, the instruction address which
referenced the bad memory
address.
Arg4: 0000000000000000, (reserved)

Debugging Details:

FAULTING_MODULE: fffff80001000000 nt

DEBUG_FLR_IMAGE_TIMESTAMP: 0

READ_ADDRESS: unable to get nt!MmSpecialPoolStart
unable to get nt!MmSpecialPoolEnd
unable to get nt!MmPoolCodeStart
unable to get nt!MmPoolCodeEnd
fffffadffcebd010

FAULTING_IP:
fffffadf`e3ef08ea 8b4614 mov eax,dword ptr [rsi+14h]

MM_INTERNAL_CODE: 0

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0x50

MISALIGNED_IP:
intelppm+3b42
fffffadf`e4d09b42 2e02fd add bh,ch

-----snip---------------

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: hardware

IMAGE_NAME: hardware

FAILURE_BUCKET_ID: X64_IP_MISALIGNED

BUCKET_ID: X64_IP_MISALIGNED

Followup: MachineOwner