Re: [RFC 2/3] file: allow callers to free the old file descriptor after dup2

From: Alok Tiagi
Date: Tue Mar 07 2023 - 13:30:38 EST


On Thu, Mar 02, 2023 at 10:21:11PM +0000, David Laight wrote:
> From: aloktiagi
> > Sent: 02 March 2023 18:22
> >
> > Allow callers of do_dup2 to free the old file descriptor in case they need to
> > make additional operations on it.
>
> That doesn't read right at all.
>
> Whether or not this is a good idea (or can be done differently)
> the interface is horrid.
>
> > if (tofree)
> > - filp_close(tofree, files);
> > + *fdfile = tofree;
>
> Why not:
>
> if (fdfile) [
> *fdfile = tofree;
> } else {
> if (tofree)
> filp_close(tofree, files);
> }
>
> Then existing code just passes NULL and the caller can't 'forget'
> to intitalise fdfile.
>
> David
>
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)
>

thank you for the review, I'll fix it in v2