HomeFreeBSD

close_range/closefrom: fix regression from close_range introduction

Description

close_range/closefrom: fix regression from close_range introduction

close_range will clamp the range between [0, fdp->fd_lastfile], but failed
to take into account that fdp->fd_lastfile can become -1 if all fds are
closed. =-( In this scenario, just return because there's nothing further we
can do at the moment.

Add a test case for this, fork() and simply closefrom(0) twice in the child;
on the second invocation, fdp->fd_lastfile == -1 and will trigger a panic
before this change.

X-MFC-With: r359836

Details

Provenance
kevansAuthored on Apr 13 2020, 5:55 PM
Parents
rG7c5e60c72e4f: libc: remove shm_open(2)'s compat fallback
Branches
Unknown
Tags
Unknown

Event Timeline