From: Andrew Hamilton <adhamilt@gmail.com>
To: grub-devel@gnu.org
Cc: Andrew Hamilton <adhamilt@gmail.com>
Subject: [PATCH v2 0/2] Delete Net Routes for Deleted Interfaces
Date: Sat, 31 Aug 2024 22:31:06 -0500 [thread overview]
Message-ID: <20240901033108.144171-1-adhamilt@gmail.com> (raw)
Correct incorrect handling of routes being maintained when an
associated interface is deleted. Previously the route(s) for an interface
being removed were not deleted. This resulted in displaying corrupted
output to the console in the following sequence:
net_add_addr
if0 emu0 192.168.100.2
net_ls_routes if0:local 192.168.100.0/24 if0
net_del_addr if0
net_ls_routes if0:local 192.168.100.0/24 ???
...
net_ls_routes
if0:local 192.168.100.0/24 ?7?
The fields including the question marks above will contain pseudo-random
data from the heap which may change over time. In some cases this may
have resulted in crashes as well after a route was deleted and attempted
to be used in actual network routing operations.
With this update, routes mapped to a deleted interface will be deleted.
In addition, a test was added for testing the network commands. This
test will still run without the net.c change but it will fail.
With the net.c change, this test will pass on grub-emu and be
skipped for other platforms.
Changes since v1:
(Ref:
https://lists.gnu.org/archive/html/grub-devel/2024-08/msg00138.html)
- Add net_test
- Resubmit net.c change due to incorrect patch submission before.
Andrew Hamilton (2):
Add a test for the grub-emu environment to test various network
commands such as adding addresses, updating routes, etc.
Correct incorrect handling of routes being maintained when an
associated interface is deleted. Previously the route(s) for an
interface being removed were not deleted. This resulted in
displaying corrupted output to the console in the following
sequence: net_add_addr if0 emu0 192.168.100.2 net_ls_routes
if0:local 192.168.100.0/24 if0 net_del_addr if0 net_ls_routes
if0:local 192.168.100.0/24 ??? ... net_ls_routes if0:local
192.168.100.0/24 ?7? The fields including the question marks above
will contain pseudo-random data from the heap which may change over
time. In some cases this may have resulted in crashes as well after
a route was deleted and attempted to be used in actual network
routing operations. With this update, routes mapped to a deleted
interface will be deleted.
Makefile.util.def | 6 ++
grub-core/net/net.c | 17 ++++
tests/net_test.in | 187 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 210 insertions(+)
create mode 100644 tests/net_test.in
--
2.39.2
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
next reply other threads:[~2024-09-01 3:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-01 3:31 Andrew Hamilton [this message]
2024-09-01 3:31 ` [PATCH v2 1/2] tests: Add net_test for network commands Andrew Hamilton
2024-09-01 3:31 ` [PATCH v2 2/2] net/net: Delete Routes for Deleted Interfaces Andrew Hamilton
2024-10-03 14:04 ` [PATCH v2 0/2] Delete Net " Andrew Hamilton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240901033108.144171-1-adhamilt@gmail.com \
--to=adhamilt@gmail.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.