> -----Original Message-----
> From: Stephen Hemminger <[email protected]>
> Sent: Friday, May 13, 2022 1:27 AM
> To: Zhang, Ke1X <[email protected]>
> Cc: Li, Xiaoyun <[email protected]>; Wu, Jingjing <[email protected]>;
> Xing, Beilei <[email protected]>; [email protected]
> Subject: Re: [PATCH v5] fix mbuf release function point corrupt in multi-
> process
>
> On Thu, 12 May 2022 05:57:19 +0000
> Ke Zhang <[email protected]> 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.