Articles of kernel

Obtenir le chemin absolu du programme en cours d’exécution dans le kernel

Afin de récupérer les permissions de fichiers du programme en cours d’exécution, je dois effectuer une opération kstat sur le programme en cours d’exécution. Ensuite, je dois obtenir le chemin absolu de l’image ELF chargée. Est-ce possible? current->comm enregistre uniquement le nom du programme sans chemin. Ou quelles autres façons de le faire?

Manipulation du format ELF

J’ai besoin d’associer un index à un fichier (dans un certain format). Je me demandais si je pouvais manipuler ELF tout en veillant à ce que la cohérence soit maintenue afin que le fichier fonctionne correctement sous Linux. L’idée ici est de créer un format de fichier qui peut être interrogé par une certaine API […]

Comment utiliser le kernel libcrc32c (ou les mêmes fonctions) dans les programmes de l’espace utilisateur?

Je souhaite effectuer quelques vérifications CRC dans mon propre programme utilisateur. Et je trouve que la crypto lib du kernel est déjà dans le système et est fournie avec le support SSE4.2 J’ai essayé de #include et d’exécuter gcc avec -I/usr/src/linux/include/ . Cependant, ça ne marche pas. Un moyen d’utiliser une sorte de libcrc32c ?

Programmation en temps réel avec Linux

Je viens de construire et de configurer un kernel Linux vanille avec le correctif RT appliqué. Tout s’est bien passé et je peux maintenant démarrer correctement dans le nouveau kernel. Voici ce que je me demande: j’ai créé un programme de simulation en C et je veux qu’il s’exécute en mode temps réel, comme le […]

Comment obtenez-vous la taille d’un fichier dans le kernel Linux?

J’ai trouvé ce lien ( http://www.spinics.net/lists/newbies/msg41016.html ) et j’ai envisagé de le faire. J’ai donc écrit du code dans un module du kernel: #include #include #include struct path p; struct kstat ks; kern_path(filepath, 0, &p); vfs_getattr(&p, &ks); printk(KERN_INFO “size: %lld\n”, ks.size); Ce qui ne comstackra pas car: /root/kernelmodule/hello.c:15: warning: passing argument 1 of ‘vfs_getattr’ from […]

Intercept ELF loader dans le kernel Linux: fichier fs / binfmt_elf.c via un module de kernel chargeable

Je suis nouveau dans le codage du kernel et je travaille actuellement avec des fichiers ELF qui ont été légèrement modifiés pour des raisons de sécurité; CPU pour décrypter le contenu du ELF modifié. À l’heure actuelle, la logique ci-dessus a été implémentée dans la fonction fs/binfmt_elf.c fichier fs/binfmt_elf.c de l’arbre source du kernel. Toutefois, […]

Quel type de boucle est pour (;;)?

Trouvé dans torvalds / linux-2.6.git -> kernel / mutex.c ligne 171 J’ai essayé de le trouver sur Google et sans succès. Qu’est-ce que for (;;) instruire?

Accéder aux fichiers à partir du code d’espace kernel?

Je passe par le code source ” drivers / staging / comedi / drivers / serial2002.c ” et l’implémentation présente l’access au fichier à partir du code d’espace kernel. Les appels système (lecture, écriture) fournissent une interface standard qui évite un access incorrect de h / w et d’autres ressources système. En bref, l’access aux […]

erreurs lors de l’exécution du programme d’extension du kernel AIX

Je suis débutant à AIX. J’ai eu beaucoup d’erreurs quand j’ai compilé l’extension du kernel. Après cela, finalement, j’ai compilé et lié. Mais quand j’ai exécuté le binary, j’ai eu cette erreur. bash# ./sysconfig_1 load ./question.exp Could not load program ./sysconfig_1: The program does not have an entry point or the o_snentry field in the […]

Comment puis-je suivre les sessions shell interactives qui n’allouent pas un tty à l’aide de eBPF?

J’essaie d’écrire un programme qui retransmet n’importe quelle session interactive du shell dans une firebase database centrale. J’ai réussi à utiliser un programme eBPF pour attacher un gestionnaire à tty_write dans le style de ttysnoop.py . Cela fonctionne pour toutes les sessions qui allouent un terminal. Je peux également utiliser les options sessionid et pidnamespace […]