On 07/17/2020 03:41 PM, Andrey Ryabinin wrote:
On 7/16/20 8:21 PM, Konstantin Khorenko wrote:If nc->call_batch() == nf_tables_newrule(), it means nc == nf_tables_cb[NFT_MSG_NEWRULE] nc == &ss->cb[cb_id] => ss == nf_tables_subsys and we know that nf_tables_subsys.subsys_id = NFNL_SUBSYS_NFTABLES static const struct nfnetlink_subsystem nf_tables_subsys = { .name = "nf_tables", .subsys_id = NFNL_SUBSYS_NFTABLES, .cb = nf_tables_cb, ... Proven?Seems ok. FTR I was thinking about 'request_module_nowait(); return -EAGAIN;' as an alternative.
Ok, but how do we know when we can try checking again - and expect the loggers[pf][type] has been already registered? i mean, it's possible the handle -EAGAIN in netlink code and return again into nf_logger_find_get_lock() before modprobe loads the module we requested and thus loggers[pf][type] will be again empty. _______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
