Files on an SELinux system have a security context which is a persistent label stored in the extended attribute of the file. You can see it using ls -Z. I cannot tell what went wrong based on the current info.
# restorecon -v './limits.conf'
restorecon reset /etc/security/limits.conf context unconfined_u:object_r:user_tmp_t:s0->unconfined_u:object_r:etc_t:s0
based on the output message above, it seems etc_t:s0 has not been confined. I have no idea how this attributes of limits.conf got modified.
This is a tough issue to figure out. Thank you, Dude.