From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1CF891E4BE for ; Thu, 19 Dec 2024 01:20:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734571208; cv=none; b=gNde4VHvR+2YyAZKrxroiP6sYWrBBxMl0xEVYRwHg6c8oXu/KEaVE44pfrNxUasWJZcLKYCwMgO57l+ZyKB1rSCUO1eyHgPtP/UIkOdNLLPmltGnaWVPexKoAZdUqirc1uGYJdzHluXSvy7JmmZq7wK8Uq018jwqT8jqJStKNAg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734571208; c=relaxed/simple; bh=75zpHAYNNqaRd8aaNF8sw9oJd2zCUlOTXIKcoWP+MKY=; h=From:To:Cc:In-Reply-To:References:Subject:Message-Id:Date: MIME-Version:Content-Type; b=rfDfiEkdia6x1qZig/4UxAx4yIFnNjMhbcDoF1UaK7HbRjWHSKjFjs3cYCzhGKzWq0fzOoS6AiH4KVgw2FQYAW+vq/RM0tNN2is/iP+GNr6S1x37v6EwEvdYJ1tM+/+MwFXpdDMk+teS7tVFXMaIsv8PDUIDDMf1gX7qLSaOcRw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk; spf=pass smtp.mailfrom=kernel.dk; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b=NTrMBnPH; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kernel.dk Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b="NTrMBnPH" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2167141dfa1so2496535ad.1 for ; Wed, 18 Dec 2024 17:20:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1734571204; x=1735176004; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:date:message-id:subject :references:in-reply-to:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=G+DOnah1GMsUpAPjPp+7YAy+E0nqFBMmLEVKuZUZxK4=; b=NTrMBnPHOIWmsOm09nwhr00lnrq06ImRmu6l9CdIjNCg1NTUVZefPhTNDGxpUn4lVF DvPJRubAa25oe+L19RFw1KcTxU82wLw+6+QfYPheIZwreLeqlO1R7zZLR76JffJ/Txc4 7MaoaGcZoLKir6yS0TNxO765uM+MHxg1k0mhXK0W2HDlygFya/DK7KhsRF+0EGAHCW42 /fbtLugfFNA8OqX5FbWbtAJB1R0W3vRWGivHTvQ08QS2C/VOW7LbnyzcKbrv1TZaPd3t 3iDeYNfYqAaxcE8/6pwOig1mXsCdZsiRPRpXbcVX7YothOsaCIRIiqDP1z6dPeubkYBH S4zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734571204; x=1735176004; h=content-transfer-encoding:mime-version:date:message-id:subject :references:in-reply-to:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=G+DOnah1GMsUpAPjPp+7YAy+E0nqFBMmLEVKuZUZxK4=; b=Hcv5frvJxowrXGT+/AKxnGmzfiQfE56G7C4oqIgTTFfALrhJl1Ky6hn6gI7NYf29wU gZcoWOfi7Cqw+Po1BxNN/z0lVGVvA2IHY822YOVQ4F6a5TCREq8AIgY09XSQT36sf0DJ +7l9R0e86t2JYb+Emy7CZ6aCGyaSpafJGmjGOzZ901qD7GALVqwMmjuJ+7Wlp3ujh6hb Yzo3s4TVFPk/yjWt1fZcZH8wdjFK+bdXCCXIVStCaJsKx79MQUU50NFYn/G4L6AG0usO gr2Y326WuK4stk9ChHY1FnpAGDgZswUZeqq/jXQRYTHT+pKMrSNVu5xz4EIKFlvSA+t2 8Wpw== X-Forwarded-Encrypted: i=1; AJvYcCVMkcSYYLvsiMwgYyBELexVHnepmWQpckB1H8xi8W9dETnxIgODDe2bYxEEgMcR59gH1nXw5+cL3pHqsvo=@vger.kernel.org X-Gm-Message-State: AOJu0YwS5TBsR20kr22tEVJJYKtBZetD5oWtwN+NfkOoaaFZhjjO1tdY dEv1LCmETbXtVRAlVMOGTgUxmLf7dXYeTolNSO8yMs1ELiDhyE73a35N8ZiBq4I= X-Gm-Gg: ASbGncug5l2jZOvOVdBlZAJ3ZO+yypJn5OZyTO7bwap/z2MyA/rmQfayrZ9CFptOgJx w/I4I8dlv6e9wt8HtcgJS22Pwln4+T3fn9sFS5YoZHmVRoBe4ASfWu6RvH/ikebFo6nC8On7L0D zE+ef6KzvXTrzeu8jP3FLb/FQBibEI4TWp2lUcA9Lqp7OpMh7i42f8K2mOq3LgUXufS9gk/BE1u kCdsiSHzjZ8x5QuSgx1zwyHnm7zQGe9tOoWLc+uhSXN/7LZ X-Google-Smtp-Source: AGHT+IHTG/+j0zzNohECjV/Ng8Bs7duXDHt4qA34KIIPFKFZVDer3b3BdqIAputJTK5KzycIRQRP8Q== X-Received: by 2002:a17:903:11c6:b0:215:8847:4377 with SMTP id d9443c01a7336-219da5eb59emr23753595ad.15.1734571204449; Wed, 18 Dec 2024 17:20:04 -0800 (PST) Received: from [127.0.0.1] ([198.8.77.157]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dc972251sm1668765ad.96.2024.12.18.17.20.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Dec 2024 17:20:03 -0800 (PST) From: Jens Axboe To: Pavel Begunkov , Jann Horn Cc: io-uring@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org In-Reply-To: <20241218-uring-reg-ring-cleanup-v1-1-8f63e999045b@google.com> References: <20241218-uring-reg-ring-cleanup-v1-1-8f63e999045b@google.com> Subject: Re: [PATCH] io_uring: Fix registered ring file refcount leak Message-Id: <173457120329.744782.1920271046445831362.b4-ty@kernel.dk> Date: Wed, 18 Dec 2024 18:20:03 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Mailer: b4 0.14.3-dev-86319 On Wed, 18 Dec 2024 17:56:25 +0100, Jann Horn wrote: > Currently, io_uring_unreg_ringfd() (which cleans up registered rings) is > only called on exit, but __io_uring_free (which frees the tctx in which the > registered ring pointers are stored) is also called on execve (via > begin_new_exec -> io_uring_task_cancel -> __io_uring_cancel -> > io_uring_cancel_generic -> __io_uring_free). > > This means: A process going through execve while having registered rings > will leak references to the rings' `struct file`. > > [...] Applied, thanks! [1/1] io_uring: Fix registered ring file refcount leak commit: 12d908116f7efd34f255a482b9afc729d7a5fb78 Best regards, -- Jens Axboe