HomeFreeBSD

loader: net_open() should not replace f->f_devdata

Description

loader: net_open() should not replace f->f_devdata

net_open() does replace f_devdata with pointer to netdev_sock,
this will cause memory leak when device is closed, but also does
alter the devopen() logic.

We should store &netdev_sock to dev->d_opendata instead, this
would preserve and follow the devopen() logic.

Fixes network boot on aarch64 (tested by bz).

Reviewed-by: imp
MFC After: 2 weeks
Differential Revision: https://reviews.freebsd.org/D32227

Details

Provenance
tsoomeAuthored on Sep 24 2021, 3:04 PM
Differential Revision
D32227: loader: net_open() should not replace f->f_devdata
Parents
rGbcd4c17ccaac: pf: fix some cc --analyze warnings
Branches
Unknown
Tags
Unknown