[OSy] Problem s insmod

Tomas Tuma tom.tuma at seznam.cz
Sun May 27 12:05:20 CEST 2007


> Tak uz to mam, koukam ze jsem pri zaverecnem formatovani kodu smazala klicove
> slovo static u inicializacni fce. Coz je onen duvod, proc to prestalo fungovat. 

Premyslel jsem o tom, proc by odebrani "static" zpusobilo takove problemy a jedine, co nas s kolegou napadlo je, ze tim, ze identifikator prestal byt lokalni a jmenuje dost obecne (module_init_routine) se volala nejaka uplne jina funkce z linuxoveho kernelu, ktera se jmenuje stejne a take neni static :) Mohlo by to byt tim?
 
> 
> Dekuji
> Katka Dufkova
> 
> 
> > Dekuji za rychlou odpoved, ale bohuzel nemyslim ze to je nas problem. Nase
> init
> > funkce vypada takto:
> > 
> > int __init module_init_routine(void)
> > {
> >     int error = register_filesystem(&dodustefs_type);
> >     if (error != 0)
> >     {
> >         printk(KERN_ERR "Could not load the DoDuSte Filesystem Module.\n");
> >         return error;
> >     }
> > 
> >     error = register_chrdev(dodustefs_dev_major, DODUSTEFS_DEV_NAME,
> > &dodustefs_dev_fops);
> >     if (error < 0)
> >     {
> >         printk(KERN_ERR "Could not load the DoDuSte Filesystem Module.\n");
> >         unregister_filesystem(&dodustefs_type);
> >         return error;
> >     }
> > 
> >     printk(KERN_INFO "The DoDuSte Filesystem Module was successfully
> > loaded.\n");
> >     return 0;
> > }
> > 
> > Krome 0 a navratovych hodnot vraci prave navratove hodnoty register_filesystem
> a
> > register_chrdev, obe tyto fce vraceji -EINVAL nebo -EBUSY, coz by nemela byt
> -1
> > nikdy. Navic problem nastal v dobe, kdy se v init funkci uz par tydnu nic
> > nemenilo a registrace modulu celou dobu fungovala. 
> > 
> > Katka Dufkova
> > 
> > > Zdravim,
> > > 
> > > > Co uz jsem zkousela - reboot, prejmenovani souboru dodustefs.ko na
> > > > neco jineho (to stale hlasi ze uz je vlozen) a ted i rekompilaci
> > > > jadra (klasicky make menuconfig && make && make install_modules &&
> > > > make install). Ale stale to same.
> > > 
> > > No, reboot by mel rucne nahravane moduly urcite odstranit :) ta chyba,
> > > kterou vraci insmod, je navratovy kod init_module, coz je syscall, ktery
> > > podle zdrojaku jadra sam od sebe vraci jen -EPERM nebo -EINTR, skoro
> > > vsechno ostatni jsou chybove kody primo inicializacni funkce modulu.
> > > 
> > > Takze bych se podival, jestli inicializacni funkce vaseho modulu nahodou
> > > nevraci -1 ...
> > > 
> > > Petr Tuma
> > > 
> > > 
> > > _______________________________________________
> > > OSy mailing list
> > > OSy at dsrg.mff.cuni.cz
> > > https://dsrg.mff.cuni.cz/mailman/listinfo/osy
> > > 
> > > 
> > > 
> > 
> > _______________________________________________
> > OSy mailing list
> > OSy at dsrg.mff.cuni.cz
> > https://dsrg.mff.cuni.cz/mailman/listinfo/osy
> > 
> > 
> > 
> 
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy
> 
> 
> 




More information about the NSWI004 mailing list