Manuelles Ändern des Stapelzeigers innerhalb eines Kernelmoduls aarch64Linux

Linux verstehen
Guest
 Manuelles Ändern des Stapelzeigers innerhalb eines Kernelmoduls aarch64

Post by Guest »

Ich schreibe ein Kernelmodul in Linux auf der Aarch64-Architektur, das als globale Struktur eine Struktur hat. Ich arbeite an einem Pixel 8-Gerät (Shiba) mit Callyxos, AOSP-Kernel (Android Open Source Project) [uname -r: 5.15.137-android14-11-gbc062a78e195-ab12057991].
< ul>
[*]Was ich will:
sp-Register, um auf diese globale Struktur zu zeigen, das heißt, ich möchte, dass der Stapel wird in meiner globalen Variablen verwaltet.

[*]Was passiert:
Wann immer ich sp so einstelle, dass es auf meine globale Struktur zeigt und darauf zugreift Wenn ich diesen Speicher verwende (z. B. mit der STP-Anweisung), erhalte ich aufgrund eines Kernel-Stack-Überlaufs sofort eine Kernel-Panik.

[*]Hier ist ein Beispielcode das verursacht einen KP-Kernel-Stack-Überlauf:
mov x16, #0x12
mov x17, #0x34
mov x1, sp
ldr x0, = new_stack
mov sp, x0
stp x16, x17, [sp]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post