• # sys_open

    Posté par . En réponse au message problème avec sys_read. Évalué à 1.

    et consort attendent des arguments venant de l'user-space alors que toi tu l'apelle du kernel-space (je vois ca avec le printk, je suppose que ton code en executé depuis un module ?).
    Il n'est pas encouragé de faire une invocation sys_* depuis un modules (c'est même vivement décourager sauf quelques cas).
    pour le faire quand même il faut changer d'espace mémoire afin que les test de cohérence n'échoue plus.

    #include <asm/uaccess.h>
    mm_segment fs;
    fs=get_fs();
    set_fs(get_ds());

    //Apelle a tes routine
    fichier = sys_open(fichier,0,0);
    ret = sys_read(fichier, buffer, 50);

    set_fs(fs).