The buffer size check added to nm_os_catch_tx() in 926a8baff0e1 runs
after generic_netmap_register() has already installed the RX handler,
so failing it takes an error path that was previously unreachable on
FreeBSD. Packets received in the meantime are queued on the RX krings
and leaked, as that path does not purge the queues.
Reject an oversized buffer at the top of generic_netmap_register()
instead, before anything is allocated or intercepted, and let
nm_os_catch_tx() go back to always succeeding.
Reported by: llm-postcr
Fixes: 926a8baff0e1 ("netmap: Handle TX buffers larger than MCLBYTES")