¿GDB no puede acceder a la memoria asignada al kernel mmap ()?

Me encuentro con un problema con GDB y algunos buffers asignados en el espacio del kernel. Los buffers son asignados por un módulo de kernel que se supone que asigna bloques contiguos de memoria, y luego la memoria se asigna al espacio del usuario a través de una llamada mmap (). Sin embargo, GDB parece no poder acceder a estos bloques en ningún momento. Por ejemplo, después de alcanzar un punto de interrupción en GDB:

(gdb) x /10xb 0x4567e000
0x4567e000:     Cannot access memory at address 0x4567e000

Sin embargo, al observar las regiones de memoria actualmente asignadas de la aplicación en / proc // smaps se muestra:

4567e000-456d3000 rwxs 8913f000 00:0d 883        /dev/cmem
Size:                340 kB
Rss:                 340 kB
Pss:                   0 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:            0 kB
Swap:                  0 kB

La razón por la que incluso estoy investigando esto es porque en algún momento durante la ejecución, esta dirección de búfer (u otra asignada de manera similar) causa un SIGSEGV.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x49aea490 (LWP 652)]
0x402e4ea8 in fwrite () from /lib/libc.so.6
(gdb)
(gdb)
(gdb) where
#0  0x402e4ea8 in fwrite () from /lib/libc.so.6
#1  0x000eb394 in EncryptedWriter::Write (this=0x198600, buffRaw=0x4567e000 <Address     0x4567e000 out of bounds>, iLenRaw=719) at encrypted_writer.cpp:397
#2  0x0006b0f4 in EncryptionWrapper::Write (this=0x3ab2698, buffer=0x4567e000, size=719) at encryption.cpp:54

Este segfault ocurre a pesar del hecho de que el búfer se había usado mucho hasta el bloqueo, y el archivo / proc // smaps todavía muestra que este búfer se asigna como se indicó anteriormente.

Estoy completamente perdido en cuanto a por qué esto podría estar sucediendo y por qué la asignación parece válida en / proc pero nunca en GDB.

Respuestas a la pregunta(2)

Su respuesta a la pregunta