From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: IORING_REGISTER_CREDS[_UPDATE]() and credfd_create()? Date: Tue, 28 Jan 2020 17:20:00 -0700 Message-ID: References: <688e187a-75dd-89d9-921c-67de228605ce@samba.org> <1ac31828-e915-6180-cdb4-36685442ea75@kernel.dk> <0d4f43d8-a0c4-920b-5b8f-127c1c5a3fad@kernel.dk> <2d7e7fa2-e725-8beb-90b9-6476d48bdb33@gmail.com> <6c401e23-de7c-1fc1-4122-33d53fcf9700@kernel.dk> <35eebae7-76dd-52ee-58b2-4f9e85caee40@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Pavel Begunkov , Stefan Metzmacher Cc: io-uring , Linux API Mailing List List-Id: linux-api@vger.kernel.org On 1/28/20 5:10 PM, Pavel Begunkov wrote: >>>> Checked out ("don't use static creds/mm assignments") >>>> >>>> 1. do we miscount cred refs? We grab one in get_current_cred() for each async >>>> request, but if (worker->creds != work->creds) it will never be put. >>> >>> Yeah I think you're right, that needs a bit of fixing up. >> > > Hmm, it seems it leaks it unconditionally, as it grabs in a ref in > override_creds(). > We grab one there, and an extra one. Then we drop one of them inline, and the other in __io_req_aux_free(). -- Jens Axboe