pon., 11 maj 2020 o 22:41 David Miller <davem@xxxxxxxxxxxxx> napisał(a): > > From: Bartosz Golaszewski <brgl@xxxxxxxx> > Date: Mon, 11 May 2020 17:07:50 +0200 > > > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > > > Appropriate amount of extra memory for private data is allocated at > > the end of struct net_device. We have a helper - netdev_priv() - that > > returns its address but we don't have the reverse: a function which > > given the address of the private data, returns the address of struct > > net_device. > > > > This has caused many drivers to store the pointer to net_device in > > the private data structure, which basically means storing the pointer > > to a structure in this very structure. > > > > This patch proposes to add priv_to_netdev() - a helper which converts > > the address of the private data to the address of the associated > > net_device. > > > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > Sorry, please don't do this. We had this almost two decades ago and > explicitly removed it intentionally. > > Store the back pointer in your software state just like everyone else > does. I will if you insist but would you mind sharing some details on why it was removed? To me it still makes more sense than storing the pointer to a structure in *that* structure. Bart