#6166 closed bug (fixed)
Boot loader network stack never cleaned up
Reported by: | andreasf | Owned by: | jessicah |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta2 |
Component: | System/Boot Loader | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
The boot loader's network stack, currently used for OpenFirmware and PXE only, is not cleaned up before entering the kernel.
With #5193 patches on ppc the OpenFirmware memory is successfully retained while unmapping the boot loader memory (including its network stack) along with any non-kernel memory. The dma-alloc
'ed send/receive buffer is retained inside OpenFirmware though (here 0xff9d1000-0xff9d3000 and OpenFirmware at 0xff800000-0xffa00000), with no proper way to access or free the memory afterwards.
Attachments (5)
Change History (18)
by , 14 years ago
Attachment: | 0001-Don-t-double-free-the-Ethernet-interface.patch added |
---|
comment:1 by , 14 years ago
patch: | 0 → 1 |
---|
by , 14 years ago
Attachment: | 0002-Add-net_stack_cleanup.patch added |
---|
proposed patch: add net_stack_cleanup()
by , 14 years ago
Attachment: | 0003-Wire-up-net_stack_cleanup.patch added |
---|
proposed patch: wire up net_stack_cleanup()
follow-up: 3 comment:2 by , 14 years ago
This patch set adds a network stack cleanup function. Further descriptions are in the individual patches.
The underlying assumption of patch 3 is that platform_start_kernel()
will no longer use any sockets. Tested on ppc only.
Future improvements could include:
- a way for
~UDPService()
destructor to unbind any danglingUDPSocket
, so that the socket remains usable but returns an error - delegation to platform-specific cleanup functions, should the need arise
comment:3 by , 14 years ago
Turns out I do have a use case for unbinding UDP sockets coming up, so let's insert that patch right away. Patch 4 is previous patch 3, unchanged.
comment:4 by , 14 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
by , 11 years ago
Attachment: | 0003-Detach-UDP-sockets-on-cleanup.patch added |
---|
proposed patch: detach UDP sockets
by , 11 years ago
Attachment: | 0004-Wire-up-net_stack_cleanup.patch added |
---|
proposed patch: wire up net_stack_cleanup()
comment:6 by , 11 years ago
Status: | assigned → in-progress |
---|
comment:8 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | in-progress → closed |
Patches applied in hrev51542.
comment:9 by , 7 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Had to revert patch 0004 as it breaks the link of the bootloader. The other 3 patches are still in effect.
comment:10 by , 7 years ago
patch: | 1 → 0 |
---|
comment:12 by , 6 years ago
patch: | → 0 |
---|---|
Resolution: | → fixed |
Status: | reopened → closed |
Fixed (finally) in hrev53004.
comment:13 by , 5 years ago
Milestone: | R1 → R1/beta2 |
---|
Assign tickets with status=closed and resolution=fixed within the R1/beta2 development window to the R1/beta2 Milestone
proposed patch: don't double-free the Ethernet interface