mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-15 14:32:06 +00:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-6.13-rc8). Conflicts: drivers/net/ethernet/realtek/r8169_main.c1f691a1fc4("r8169: remove redundant hwmon support")152d00a913("r8169: simplify setting hwmon attribute visibility") https://lore.kernel.org/20250115122152.760b4e8d@canb.auug.org.au Adjacent changes: drivers/net/ethernet/broadcom/bnxt/bnxt.c152f4da05a("bnxt_en: add support for rx-copybreak ethtool command")f0aa6a37a3("eth: bnxt: always recalculate features after XDP clearing, fix null-deref") drivers/net/ethernet/intel/ice/ice_type.h50327223a8("ice: add lock to protect low latency interface")dc26548d72("ice: Fix quad registers read on E825") Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -2411,6 +2411,17 @@ def print_kernel_family_struct_src(family, cw):
|
||||
if not kernel_can_gen_family_struct(family):
|
||||
return
|
||||
|
||||
if 'sock-priv' in family.kernel_family:
|
||||
# Generate "trampolines" to make CFI happy
|
||||
cw.write_func("static void", f"__{family.c_name}_nl_sock_priv_init",
|
||||
[f"{family.c_name}_nl_sock_priv_init(priv);"],
|
||||
["void *priv"])
|
||||
cw.nl()
|
||||
cw.write_func("static void", f"__{family.c_name}_nl_sock_priv_destroy",
|
||||
[f"{family.c_name}_nl_sock_priv_destroy(priv);"],
|
||||
["void *priv"])
|
||||
cw.nl()
|
||||
|
||||
cw.block_start(f"struct genl_family {family.ident_name}_nl_family __ro_after_init =")
|
||||
cw.p('.name\t\t= ' + family.fam_key + ',')
|
||||
cw.p('.version\t= ' + family.ver_key + ',')
|
||||
@@ -2428,9 +2439,8 @@ def print_kernel_family_struct_src(family, cw):
|
||||
cw.p(f'.n_mcgrps\t= ARRAY_SIZE({family.c_name}_nl_mcgrps),')
|
||||
if 'sock-priv' in family.kernel_family:
|
||||
cw.p(f'.sock_priv_size\t= sizeof({family.kernel_family["sock-priv"]}),')
|
||||
# Force cast here, actual helpers take pointer to the real type.
|
||||
cw.p(f'.sock_priv_init\t= (void *){family.c_name}_nl_sock_priv_init,')
|
||||
cw.p(f'.sock_priv_destroy = (void *){family.c_name}_nl_sock_priv_destroy,')
|
||||
cw.p(f'.sock_priv_init\t= __{family.c_name}_nl_sock_priv_init,')
|
||||
cw.p(f'.sock_priv_destroy = __{family.c_name}_nl_sock_priv_destroy,')
|
||||
cw.block_end(';')
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user