tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

iwi(4) patch



Hi,

With a Xen debug kernel (PAE off), iwi(4) is not able to attach during autoconf ("XENMEM_decrease_reservation failed!" issue) on my laptop. This should not be fatal to the boot process, but in fact, it is; errors are (from my PoV) incorrectly handled in if_iwi.c.

I have local fixes to it [1]. However, as it is not a part of the kernel I am familiar with, I would like more experienced people to review my patch:

- some bus_dma fix, with checks against invalid dmap.

- move the (RX and TX) rings' allocation code later in iwi_attach() to avoid NULL pointer dereference if allocation fails (iwi_detach() manipulates structure variables that are not set in case of a failed allocation)

- avoid double free in case of failure during attach. If an allocation fails, do not free it directly, this is handled by iwi_detach() routine.

- only set ring->count for RX/TX rings when ring malloc() is successful, or else the for loop during detach will fail with a NULL dereference.

Tested with current GENERIC, XEN3_DOM0 and XEN3PAE_DOM0. Did not notice any regression so far.

[1] http://www.netbsd.org/~jym/if_iwi.c.diff

Thanks!

--
Jean-Yves Migeon
jeanyves.migeon%free.fr@localhost



Home | Main Index | Thread Index | Old Index