On Sat, Nov 19, 2022 at 04:46:17AM +0000, Al Viro wrote: > On Mon, Oct 31, 2022 at 02:03:49PM -0700, Peilin Ye wrote: > > > + n = vmsplice_to_pipe(file, &iter, 0); > > + if (n == -EBADF) > > + n = __kernel_write_iter(cprm->file, &iter, &pos); > > Yuck. If anything, I would rather put a flag into coredump_params > and check it instead; this check for -EBADF is both unidiomatic and > brittle. Suppose someday somebody looks at vmsplice(2) and > decides that it would make sense to lift the "is it a pipe" check > into e.g. vmsplice_type(). There's no obvious reasons not to, > unless one happens to know that coredump relies upon that check done > in vmsplice_to_pipe(). It's asking for trouble several years down > the road. > > Make it explicit and independent from details of error checking > in vmsplice(2). Thanks for the review! I was a bit hesitant about introducing a new field to coredump_params for this optimization. Will do it in v3. Peilin Ye