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.
# sys_open
Posté par TheBreton . En réponse au message problème avec sys_read. Évalué à 1.
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).