lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 18 Dec 2006 11:49:12 +0100
From:	Brice Goglin <brice@...i.com>
To:	Jeff Garzik <jeff@...zik.org>, netdev@...r.kernel.org
Subject: [PATCH 0/5] myri10ge: IRQ and pci state cleanups

Hi Jeff,

While testing Stephen Hemminger's patch to cleanup the save/restore_state
in myri10ge, we discovered some problems in our code. First, since the MSI
and PCIe state is saved on a kind of stack, we leak some memory by saving
the state both for parity recovery and on suspend. Additionaly, some race
between the watchdog and the interrupt handler could lead to similar
problems.

We fix all this by first matching the number of pci_save_state() and
pci_restore_state() (#1), then moving request_irq() to myri10ge_open() (#2)
instead of probe() to eliminate some race.
Apart from cleaning the code, this also enables switching from/to MSI
at runtime (#3).
Finally (Stephen's patch), we stop saving the MSI and PCIe states in the
driver since the PCI layer does it for us (#4), and handle some failure
cases in the suspend and resume routines (#5).

1. match number of save_state and restore
2. move request_irq to myri10ge_open
3. make msi configurable at runtime through sysfs
4. no need to save MSI and PCIe state in the driver
5. handle failures in suspend and resume

Thanks,
Brice

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ