Incompréhension autour de printk

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Désolé si le titre n’est pas clair, je ne savais pas trop quoi mettre. Je lis un livre sur les systèmes d’exploitation en ce moment et il me propose un petit exercice où je dois créer un module pour le noyau linux. Voici le résultat :

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/hash.h>
#include <linux/gcd.h>


int simple_init(void)
{
    printk(KERN_INFO "Loading kernel module\n");
    printk(KERN_INFO "%llu", GOLDEN_RATIO_PRIME);

    return 0;
}


void simple_exit(void)
{
    printk(KERN_INFO "Removing kernel module\n");
    printk(KERN_INFO "%lu", gcd(3300, 24));
}


module_init(simple_init);
module_exit(simple_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Simple module");
MODULE_AUTHOR("wizix");

Quand j’installe le module avec sudo insmod simple.ko et que j’affiche les logs du kernel, j’ai les messages suivants :

[ 4138.471618] 12
[ 4146.013948] Loading kernel module

Première question : pourquoi j’ai le GCD de 3300 et 24 en premier !? (J’ai clean dmesg avant d’afficher). Quand je supprime le module, j’obtiens :

[ 4206.961970] 12
[ 4216.868676] Loading kernel module
[ 4216.868680] 7046029254386353131
[ 4297.049740] Removing kernel module

Ce qui me surprend le plus, c’est le nombre de secondes qui ne correspond pas du tout. J’ai l’impression que le premier 12 provient d’une ancienne installation/suppression du module. Pourquoi n’a t-il pas été supprimé avec sudo dmesg -c ? Si c’est bien le cas, pourquoi 7046029254386353131 n’apparaît pas au moment où je monte le module mais au moment où il y a une autre update (comme la suppression du module ou alors une nouvelle ligne dans les logs) ? De même, où est le dernier 12 après Removing kernel module ?

Merci pour votre aide ! :)

Salut @Wizix.

Il semble que tu as trouvé une solution. Peut-être était-ce une erreur toute bête que tu as résolu. Cependant, afin d’aider ceux qui passent après toi et dans un soucis de clarté sur Zeste de Savoir, il est préférable de ne pas masquer ton message après coup.

Si tu pouvais rétablir celui-ci, avec un petit message expliquant la solution, ça serait cool. :)

Zestueusement tiens,

informaticienzero

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte