* Validate the given filecaps structure. */
| 1759 | * Validate the given filecaps structure. |
| 1760 | */ |
| 1761 | static void |
| 1762 | filecaps_validate(const struct filecaps *fcaps, const char *func) |
| 1763 | { |
| 1764 | |
| 1765 | KASSERT(cap_rights_is_valid(&fcaps->fc_rights), |
| 1766 | ("%s: invalid rights", func)); |
| 1767 | KASSERT((fcaps->fc_fcntls & ~CAP_FCNTL_ALL) == 0, |
| 1768 | ("%s: invalid fcntls", func)); |
| 1769 | KASSERT(fcaps->fc_fcntls == 0 || |
| 1770 | cap_rights_is_set(&fcaps->fc_rights, CAP_FCNTL), |
| 1771 | ("%s: fcntls without CAP_FCNTL", func)); |
| 1772 | KASSERT(fcaps->fc_ioctls != NULL ? fcaps->fc_nioctls > 0 : |
| 1773 | (fcaps->fc_nioctls == -1 || fcaps->fc_nioctls == 0), |
| 1774 | ("%s: invalid ioctls", func)); |
| 1775 | KASSERT(fcaps->fc_nioctls == 0 || |
| 1776 | cap_rights_is_set(&fcaps->fc_rights, CAP_IOCTL), |
| 1777 | ("%s: ioctls without CAP_IOCTL", func)); |
| 1778 | } |
| 1779 | |
| 1780 | static void |
| 1781 | fdgrowtable_exp(struct filedesc *fdp, int nfd) |
no test coverage detected