Portál AbcLinuxu, 9. května 2025 21:39

Dotaz: copy_from_user a coredump piping

27.11.2009 00:30 jano
copy_from_user a coredump piping
Přečteno: 103×
Odpovědět | Admin
Od jadra 2.6.19, pribudla featura coredump piping, t.j. ze coredump nebude zapisany do suboru ale na stdin nejakeho userspace procesu. Snazim sa tuto featuru backportovat na 2.4, ale trochu som sa zasekol.

Dokazem uz spustit user-space proces aj vytvorit read/write pipu medzi kernelom a userspace procesom. Problem je, ze nie som schopny do nej nic zapisat na strane kernelu, a vsetky moje pokusy koncia z -14. Na testovanie pouzivam volanie: file->f_op->write(file, addr, nr, &file->f_pos) ktore som okukal z do_coredump funkcie.

Toto volanie by malo v konecnom dosledku zavolat pipe_write(). A tu sa trochu zamotavam. pipe_write() vola copy_from_user(), co by mohlo vysvetlit preco moje write-y koncia s -14. Nerozumiem vsak, preco to z do_coredump() funguje.

Vedel by niekto vysvetlit preco to v do_coredump() funguje? Pripadne existuje nejaka finta, ako z kernelu zavolat funkciu, ktora obsahuje volanie copy_from_user?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.11.2009 08:24 jano
Rozbalit Rozbalit vše Re: copy_from_user a coredump piping
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ako zvycajne, clovek najde odpoved az ked napise niekam do diskusie :-). Funguje to, pretoze je tam volanie:
set_fs(KERNEL_DS);

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.