Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp4050957rdb; Mon, 11 Dec 2023 07:35:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IFk8sWKUDI7IR1zC/gRVg5rCCgpDntcHyTYgPR7140lHWnofWC0NSF/Mpbpc1OSpjzODxJ0 X-Received: by 2002:a17:90a:aa82:b0:28a:1dc8:bc09 with SMTP id l2-20020a17090aaa8200b0028a1dc8bc09mr3486935pjq.65.1702308903894; Mon, 11 Dec 2023 07:35:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702308903; cv=none; d=google.com; s=arc-20160816; b=rGj3npYal0lfplrVGRYrmpozzU68N5+2A2cqkbJyMhjuP6xTyNqYEa2aCNF3VOkPQ2 C4WaKYxbJGjUHjYDJM2eYg27hzAivyUS+KU4hVEIubH+VsMR7MWOKARW5kN9p3uE2mUp 11EWz7qj93A6m7udGDlx0fuum7oHkS5OMWWhbGd/QHMKSIyxjhSfvvIqmhbAHS80NhYj l9ob8Ckb9nNs+UZMx/8ZWntyRDDdamBuK0w4YZ+qo9xLFKspcZMKyILW3Oeu4jT3FlHP 9eWLcoBGw0mTZaunaKXy7cbZf9Xx01o0Y0GfWAOciMuEg8vZBoIO0FNfmTLLKs+ddXAg Frvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:dkim-signature; bh=rctRxd7Ih5xwyv5baEpKW/ad4RMHUzIW0rCHfR1fe9s=; fh=0N28rIzUFNBR4G6i0VFfK8yvbIIcOQTClwSpqXp6U/Y=; b=kcMqjRfHwNmFH+Zm+ybO4DSV7TgBPOTcfDAJWLJK2pvbBk8Asvr8S46vIrovODYBAK VHzh8/2pxxF6no0N8d/DXcjBbVkk5ce3tQs5Yo6K+BgHSNkSZ4NED5G1tbW6aG3JXJXl CNwsKpt/br9gkMFGfE1O9E4tN3mNPn/xLlMVOkZlnWfm/8oXhXysIrCmQNr/V322pQie XkynWhpN8lJFo2BCIOQRoV2E7lWooXerliULNnmaCZqwgX6uZJ9d0u1HUSHRc03pEWgd qXMx8DRLlhocDKQFE9VQLWrs56SLNLFZfCxwO47FMEqaDF1Yy782xm3ajYprzuuKV08c 3zCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=yVdacp+h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id lj6-20020a17090b344600b00286dd5ae1cbsi6299365pjb.125.2023.12.11.07.35.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Dec 2023 07:35:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=yVdacp+h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 872E98046C86; Mon, 11 Dec 2023 07:34:58 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344104AbjLKPe3 (ORCPT + 99 others); Mon, 11 Dec 2023 10:34:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39546 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344007AbjLKPeZ (ORCPT ); Mon, 11 Dec 2023 10:34:25 -0500 Received: from mail-lf1-x149.google.com (mail-lf1-x149.google.com [IPv6:2a00:1450:4864:20::149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 89CF1E8 for ; Mon, 11 Dec 2023 07:34:30 -0800 (PST) Received: by mail-lf1-x149.google.com with SMTP id 2adb3069b0e04-50bfbf019d3so3368313e87.1 for ; Mon, 11 Dec 2023 07:34:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1702308869; x=1702913669; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=rctRxd7Ih5xwyv5baEpKW/ad4RMHUzIW0rCHfR1fe9s=; b=yVdacp+hh8/stabKGGBktm9cFwg8p+paAgf1tew4U47Z4813vxvzI4vsbAWVFC4gJb q8IJkrAsFpC8fTjB53lN6cRQ8ndZ1fnvK4Zo+X06sRPL2zNdkKGDSf7FR9p85JyW5DcC mv182GZQlpWMGWFggYpm6gOTM325YQg0rJwWzMYTq1T+ICit2xaQYtCSr85lKUBwz+y9 7qWcnhJGB7GCkSZ5bZ+iiCS2mp2bxhUmNu5q5Gwj30EUEqIbURCgwXs+/mBL13CuH9hr Ph8uYW5al/M6QpPNt43yJUiiRreIXQqsSr1CKa3ooPLVHZ4IHrKKPz7yAcoNFCjVeIkV sttg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702308869; x=1702913669; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rctRxd7Ih5xwyv5baEpKW/ad4RMHUzIW0rCHfR1fe9s=; b=BaXTmARk1kW91ZEmCD04IYgSPRJr1i9/P+j5O8rzRmlf9lHv9Ie4oaavkpNAB8CInI 2jWnY4+6nVHSv+Tiwf+0OrrhPEQN6xTP7Q2MTvc4EhgKCbqp8Zxl2/f01lDa+r+R+5xv DwZ6e3mEkBn5R2Teiv8XjCLU+o8JjxkvOQ4C9M3XFkSQp8FCHonFnXj0N7o0YeCAUbBX Ja9IBDr3dwzwCNUJXspY0cQLOcIdUOEkTMRo7Yk7hSO2YALitJhD0yYSmKB/iuFVaxO3 jXdsGkpkDjaV0sODsK5Tgw6oINH1Fl1Mo+stImJ8zVy2fcpy7D4GM3oemHSRTgGTmZJW BLXg== X-Gm-Message-State: AOJu0YyWw4IgAjjW+XgTV0MLurKcR0cM13JWqGuJvoh0D6hnUOKM9a8k n4BYN2JRot8eZks21KQDmqlHFJvtgaUF1wk= X-Received: from aliceryhl2.c.googlers.com ([fda3:e722:ac3:cc00:68:949d:c0a8:572]) (user=aliceryhl job=sendgmr) by 2002:a05:6512:118a:b0:50b:ee6a:c41d with SMTP id g10-20020a056512118a00b0050bee6ac41dmr33367lfr.10.1702308868720; Mon, 11 Dec 2023 07:34:28 -0800 (PST) Date: Mon, 11 Dec 2023 15:34:26 +0000 In-Reply-To: <8VBM8spxE8lhkvhYGfxxUFwslCWxi-ZL6rGHHDYD6Gn5dZqsdUQfZYDqtykJzQNFJVsQje_B4hGVDRqy3zY3TZGLSL7_YXbhKcIYfvBS02I=@proton.me> Mime-Version: 1.0 References: <8VBM8spxE8lhkvhYGfxxUFwslCWxi-ZL6rGHHDYD6Gn5dZqsdUQfZYDqtykJzQNFJVsQje_B4hGVDRqy3zY3TZGLSL7_YXbhKcIYfvBS02I=@proton.me> X-Mailer: git-send-email 2.43.0.472.g3155946c3a-goog Message-ID: <20231211153426.4161159-1-aliceryhl@google.com> Subject: Re: [PATCH v2 2/7] rust: cred: add Rust abstraction for `struct cred` From: Alice Ryhl To: benno.lossin@proton.me Cc: a.hindborg@samsung.com, alex.gaynor@gmail.com, aliceryhl@google.com, arve@android.com, bjorn3_gh@protonmail.com, boqun.feng@gmail.com, brauner@kernel.org, cmllamas@google.com, dan.j.williams@intel.com, dxu@dxuuu.xyz, gary@garyguo.net, gregkh@linuxfoundation.org, joel@joelfernandes.org, keescook@chromium.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, maco@android.com, ojeda@kernel.org, peterz@infradead.org, rust-for-linux@vger.kernel.org, surenb@google.com, tglx@linutronix.de, tkjos@android.com, viro@zeniv.linux.org.uk, wedsonaf@gmail.com, willy@infradead.org Content-Type: text/plain; charset="utf-8" X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Mon, 11 Dec 2023 07:34:59 -0800 (PST) Benno Lossin writes: > On 12/6/23 12:59, Alice Ryhl wrote: > > +/// Wraps the kernel's `struct cred`. > > +/// > > +/// # Invariants > > +/// > > +/// Instances of this type are always ref-counted, that is, a call to `get_cred` ensures that the > > +/// allocation remains valid at least until the matching call to `put_cred`. > > +#[repr(transparent)] > > +pub struct Credential(pub(crate) Opaque); > > Why is the field `pub(crate)`? Historical accident. It isn't needed anymore. I'll remove it. > > + unsafe fn dec_ref(obj: core::ptr::NonNull) { > > + // SAFETY: The safety requirements guarantee that the refcount is nonzero. > > Can you also justify the `cast()`? Will do. Alice