Revert "Revert "genetlink: remove genl_bind""

This reverts commit 68815d5b7e which was
commit 0845447d9c783a502bd3e13af0f38aa4c7655a77 in 4.19.y and is commit
1e82a62fec613844da9e558f3493540a5b7a7b67 upstream.

It was reported that this issue affects Android devices and a vendor
wishes it to be applied back, ABI is not an issue here.

Leaf changes summary: 5 artifacts changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 4 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

4 functions with some sub-type change:
  [C] 'function void genl_notify(const genl_family*, sk_buff*, genl_info*, u32, gfp_t)' at genetlink.c:1109:1 has some sub-type changes:
  [C] 'function int genl_register_family(genl_family*)' at genetlink.h:145:1 has some sub-type changes:
  [C] 'function int genl_unregister_family(const genl_family*)' at genetlink.h:146:1 has some sub-type changes:
  [C] 'function void* genlmsg_put(sk_buff*, unsigned int, unsigned int, const genl_family*, int, unsigned char)' at genetlink.h:150:1 has some sub-type changes:

'struct genl_family at genetlink.h:52:1' changed:
  type size changed from 1024 to 896 (in bits)
  2 data member deletions:
    'int (net*, int)* genl_family::mcast_bind', at offset 512 (in bits) at genetlink.h:67:1
    'void (net*, int)* genl_family::mcast_unbind', at offset 576 (in bits) at genetlink.h:68:1
  there are data member changes:
    'nlattr** genl_family::attrbuf' offset changed from 640 to 512 (in bits) (by -128 bits)
    'const genl_ops* genl_family::ops' offset changed from 704 to 576 (in bits) (by -128 bits)
    'const genl_multicast_group* genl_family::mcgrps' offset changed from 768 to 640 (in bits) (by -128 bits)
    'unsigned int genl_family::n_ops' offset changed from 832 to 704 (in bits) (by -128 bits)
    'unsigned int genl_family::n_mcgrps' offset changed from 864 to 736 (in bits) (by -128 bits)
    'unsigned int genl_family::mcgrp_offset' offset changed from 896 to 768 (in bits) (by -128 bits)
    'module* genl_family::module' offset changed from 960 to 832 (in bits) (by -128 bits)
  4 impacted interfaces

Bug: 163861691
Cc: Sean Tranchetti <[email protected]>
Cc: Will McVicker <[email protected]>
Cc: Saravana Kannan <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Change-Id: Ieaa81ed2445ff12a9a8e00f69d64c78baeec07e5
This commit is contained in:
Greg Kroah-Hartman 2020-08-13 15:32:20 +02:00
commit 6e8e201587
3 changed files with 936 additions and 1183 deletions

View file

@ -35,12 +35,6 @@ struct genl_info;
* do additional, common, filtering and return an error
* @post_doit: called after an operation's doit callback, it may
* undo operations done by pre_doit, for example release locks
* @mcast_bind: a socket bound to the given multicast group (which
* is given as the offset into the groups array)
* @mcast_unbind: a socket was unbound from the given multicast group.
* Note that unbind() will not be called symmetrically if the
* generic netlink family is removed while there are still open
* sockets.
* @attrbuf: buffer to store parsed attributes (private)
* @mcgrps: multicast groups used by this family
* @n_mcgrps: number of multicast groups
@ -64,8 +58,6 @@ struct genl_family {
void (*post_doit)(const struct genl_ops *ops,
struct sk_buff *skb,
struct genl_info *info);
int (*mcast_bind)(struct net *net, int group);
void (*mcast_unbind)(struct net *net, int group);
struct nlattr ** attrbuf; /* private */
const struct genl_ops * ops;
const struct genl_multicast_group *mcgrps;