2022-08-29 14:37 (UTC+0200), Morten Brørup:
> > From: David Marchand [mailto:david.march...@redhat.com]
> > Sent: Monday, 29 August 2022 13.58
> >
> > > > > > On Sat, Aug 27, 2022 at 12:57:50PM +0300, Dmitry Kozlyuk wrote:  
> > > > > > > The kernel ensures that the newly mapped memory is zeroed,
> > > > > > > and DPDK ensures that files in hugetlbfs are not re-mapped.  
> 
> David, are you suggesting that this invariant - guaranteeing that DPDK memory 
> is zeroed - was violated by SELinux in the SELinux/container issue you were 
> tracking?
> 
> If so, the method to ensure the invariant is faulty for SELinux. Assuming 
> DPDK supports SELinux, this bug should be fixed.

+1, I'd like to know more about that case.

EAL checks the unlink() result, so if it fails, the allocation should fail
and the invariant should not be broken.
Code from 20.11.5:

        if (rte_eal_process_type() == RTE_PROC_PRIMARY &&
                        unlink(path) == -1 &&
                        errno != ENOENT) {
                RTE_LOG(DEBUG, EAL, "%s(): could not remove '%s': %s\n",
                        __func__, path, strerror(errno));
                return -1;
        }

Can SELinux restriction result in errno == ENOENT?
I'd expect EPERM/EACCESS.

Reply via email to