> -----Original Message----- > From: Stephen Hemminger <step...@networkplumber.org> > Sent: Friday, May 13, 2022 1:27 AM > To: Zhang, Ke1X <ke1x.zh...@intel.com> > Cc: Li, Xiaoyun <xiaoyun...@intel.com>; Wu, Jingjing <jingjing...@intel.com>; > Xing, Beilei <beilei.x...@intel.com>; dev@dpdk.org > Subject: Re: [PATCH v5] fix mbuf release function point corrupt in multi- > process > > On Thu, 12 May 2022 05:57:19 +0000 > Ke Zhang <ke1x.zh...@intel.com> wrote: > > > > > -static const struct iavf_rxq_ops def_rxq_ops = { > > - .release_mbufs = release_rxq_mbufs, > > +static > > +struct iavf_rxq_ops iavf_rxq_release_mbufs_ops[] = { > > + [IAVF_REL_MBUFS_DEFAULT].release_mbufs = release_rxq_mbufs, > > + [IAVF_REL_MBUFS_SSE_VEC].release_mbufs = > iavf_rx_queue_release_mbufs_sse, > > }; > > > > -static const struct iavf_txq_ops def_txq_ops = { > > - .release_mbufs = release_txq_mbufs, > > +static > > +struct iavf_txq_ops iavf_txq_release_mbufs_ops[] = { > > + [IAVF_REL_MBUFS_DEFAULT].release_mbufs = release_txq_mbufs, > > + [IAVF_REL_MBUFS_SSE_VEC].release_mbufs = > iavf_tx_queue_release_mbufs_sse, > > + [IAVF_REL_MBUFS_AVX512_VEC].release_mbufs = > iavf_tx_queue_release_mbufs_avx512, > > }; > > Did you have to take const off of these?
Thanks for your comments, I check the other code like linux kernel , I found there are no const for the function pointer, like: static struct pci_driver ice_driver = { .name = KBUILD_MODNAME, .id_table = ice_pci_tbl, .probe = ice_probe, .remove = ice_remove, #ifdef CONFIG_PM .driver.pm = &ice_pm_ops, #endif /* CONFIG_PM */ .shutdown = ice_shutdown, #ifndef STATIC_QOS_CFG_SUPPORT .sriov_configure = ice_sriov_configure, #endif /* !STATIC_QOS_CFG_SUPPORT */ #ifdef HAVE_RHEL7_PCI_DRIVER_RH .pci_driver_rh = &ice_driver_rh, #endif /* HAVE_RHEL7_PCI_DRIVER_RH */ .err_handler = &ice_pci_err_handler }; So I don't add the const.