vmalloc() a kmalloc() a muj modul do iptables
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Čtvrtek Květen 20 20:33:08 CEST 2010
On Thu, 20 May 2010, Dalibor Straka wrote:
> static bool
> rtfile_load(const struct xt_mtchk_param *par)
> {
> ...
> rtfile->master_index = kmalloc(65536, GFP_KERNEL);
> if (!rtfile->master_index) {
> printk(KERN_ERR "rtfile: out of memory \n");
> goto err2;
> }
> rtfile->master_index[0xaabb] = 1234;
Jelikož se do položky rtfile->master_index[] vejde číslo 1234, tak bude
každá položka nejméně dvoubajtová. Čili zápis na index 0xaabb bude
probíhat nejméně 87414 bajtů za začátkem alokovaného prostoru.
Je 87414 < 65536? Já bych řekl, že nikoli.
(A není se pak co divit, že to padlo na držku při použití vmalloc().)
--
Pavel Kankovsky aka Peak / Jeremiah 9:21 \
"For death is come up into our MS Windows(tm)..." \ 21st century edition /
Další informace o konferenci Linux