Re: [PATCH 2/2] vfs: Add KUnit tests for fdtable
From: Kees Cook
Date: Tue Aug 11 2026 - 20:22:08 EST
On Tue, Aug 11, 2026 at 05:42:05PM +0200, Jann Horn wrote:
> On Tue, Aug 11, 2026 at 2:16 AM Kees Cook <kees@xxxxxxxxxx> wrote:
> > On Mon, Aug 10, 2026 at 08:41:13PM +0000, Bill Wendling wrote:
> > > +static void fdtable_test_alloc(struct kunit *test)
> > > +{
> > > + struct fdtable *fdt;
> > > + unsigned int slots = 64;
> > > +
> > > + fdt = alloc_fdtable(slots);
> > > + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, fdt);
> > > +
> > > + /* Check that max_fds is set correctly and is >= slots */
> > > + KUNIT_EXPECT_GE(test, fdt->max_fds, slots);
> > > +
> > > + /* Check that fd is allocated */
> > > + KUNIT_EXPECT_NOT_ERR_OR_NULL(test, fdt->fd);
> >
> > Nice to add these tests! Can you add one for each of the conditionals
> > in alloc_fdtable (e.g. ENOMEM, EMFILE, and the power-of-two rounding-up
> > logic, etc)?
>
> Wouldn't tests for stuff like the rounding-up logic get into
> implementation details too much, and break if implementation choices
> change?
It seemed to me like we'd want to notice if that behavior changed?
--
Kees Cook