From nobody Tue Feb 11 18:03:20 2025 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysq7p71Yrz5mSRl for ; Tue, 11 Feb 2025 18:03:50 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com [209.85.128.177]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysq7p23g4z3d5H for ; Tue, 11 Feb 2025 18:03:50 +0000 (UTC) (envelope-from 6yearold@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of 6yearold@gmail.com designates 209.85.128.177 as permitted sender) smtp.mailfrom=6yearold@gmail.com; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none) Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-6ef7c9e9592so46986987b3.1 for ; Tue, 11 Feb 2025 10:03:50 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739297029; x=1739901829; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=mnDW06haeu3njEIP781DjPMrg4dk3u6q2zSjrE2Oyw4=; b=NNPJ06Lig90W10pEfyKH60zBQ8EfBXNP1OY2Z9kr+7mZVtZZ+llo/502fDcIaKo+gl HnYKWeRnj9G60N5IW/3Sqv5SAP7rTvjxn2XmFzHz1RJkkxl9caEFGWPWfC8JXPHnQBZQ jWhwRSnHTZLKVBkqkJYgaSO8d025M4a/wfCBVzTX8EmDQg3GzBbczQdaOfqL5k03hdA/ aiSCJXm2/0bbisyqHUTzVolBSFifMgAzsyzXrZxjpyd4rE5vgEfn96DOA1y1iDB1nuH0 wceIVSH6bwbCUU2voXy/vuryQ2nri3ouUMNmuuIfzBk8laJLT1WyhdQKx8oHaodD7uvG kf7w== X-Gm-Message-State: AOJu0YzoNvQ+7uZqVrUwKx1IwPP4O+MOWgWH3i9ghfny/A5XO4kGuKgf UHZVaBBucCeMW4Q5jC4RBmNxBros4HFPr3O+Z1QAW1XdDLMHeEbtrJlAB5bn X-Gm-Gg: ASbGncsCKt1yFLVeotsH5fVYH5df+pSwXKLkfOrdVE18/G8HEJRApAK7M6HnQeoqi+W NEfUXt9PSjED3IbNS35MAZmkR6YsDgRCrjHp2bQfxh9emk6lrQV/5GzUrA8gKCCf8ZzqAZ+Bsiq r2QzLi6503IIyhhuHdCiA4X5vSsH/w9hp904oEzEbGL72/Ud5t/ghnzOQIO7k2iytTZlDf2F4qf onoKpmuS//zxNbPRXFU12YqQKaoSP2Asp8zG/ebp9H1xOzlggW2YJroND0y1Bw55t8PRz3moTyn dku7AYQXTrqXZ3EUtHstKlOl/OFkOkPbxsvrI6JiNPtv6etfTdENF5I= X-Google-Smtp-Source: AGHT+IEvwTL0JtAS19EWRAjOIwevzCTC2GZvr78y7RKIevUUEhXrQPZMebv+Q6YqxTDQ4sfzm3Tp/g== X-Received: by 2002:a05:690c:9a05:b0:6ef:6f24:d080 with SMTP id 00721157ae682-6fb1f171ed8mr6602137b3.7.1739297028883; Tue, 11 Feb 2025 10:03:48 -0800 (PST) Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com. [209.85.128.171]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6f99ffc2a32sm22085577b3.110.2025.02.11.10.03.48 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Feb 2025 10:03:48 -0800 (PST) Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-6f7440444efso47976867b3.2 for ; Tue, 11 Feb 2025 10:03:48 -0800 (PST) X-Received: by 2002:a05:690c:630c:b0:6f7:55a2:4cd8 with SMTP id 00721157ae682-6fb1f16d03amr5309327b3.5.1739297028426; Tue, 11 Feb 2025 10:03:48 -0800 (PST) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@FreeBSD.org MIME-Version: 1.0 From: Gleb Popov Date: Tue, 11 Feb 2025 21:03:20 +0300 X-Gmail-Original-Message-ID: X-Gm-Features: AWEUYZnJiriaeMspDFYIHIH6WbavDc5GDpGUIDdpE4aXwyiHbnBSfh8u_H_44Cc Message-ID: Subject: Would we want pidfd_open(2) & SO_PEERPIDFD? To: freebsd-hackers Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [2.16 / 15.00]; SUBJECT_ENDS_QUESTION(1.00)[]; NEURAL_SPAM_MEDIUM(0.99)[0.989]; NEURAL_SPAM_SHORT(0.98)[0.980]; NEURAL_HAM_LONG(-0.91)[-0.910]; FORGED_SENDER(0.30)[arrowd@freebsd.org,6yearold@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; RCVD_TLS_LAST(0.00)[]; TO_DN_ALL(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_THREE(0.00)[3]; RCPT_COUNT_ONE(0.00)[1]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ARC_NA(0.00)[]; MISSING_XM_UA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[209.85.128.177:from,209.85.128.171:received]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; FROM_NEQ_ENVFROM(0.00)[arrowd@freebsd.org,6yearold@gmail.com]; RBL_SENDERSCORE_REPUT_8(0.00)[209.85.128.177:from]; R_DKIM_NA(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.128.177:from]; TO_DOM_EQ_FROM_DOM(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[] X-Spamd-Bar: ++ X-Rspamd-Queue-Id: 4Ysq7p23g4z3d5H Hey hackers. D-Bus services can obtain PIDs of their clients via the sendmsg(2) mechanism over unix sockets (or getsockopt(SO_PEERCRED)). But operating on PIDs is racy, so to make sure the process has not been terminated a service would need to call getsockopt(SO_PEERCRED) again. It isn't immediately possible with D-Bus API and would require hacking on its code. However, Linux has a better alternative for this case - getsockopt(SO_PEERPIDFD) [1]. The call returns a pidfd (see procdesc(4)), which is pinned to the caller process. DBus already supports this [2], so if FreeBSD implements SO_PEERPIDFD the feature will work for us out of the box. My question is - would it be possible for FreeBSD to support SO_PEERPIDFD or I'd be better off to hack on D-Bus internals? Thanks in advance. [1] https://blog.sebastianwick.net/posts/so-peerpidfd-usefulness/ [2] https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/398#b9391b9a8a6c8fb67b48b03b25e8893befbeff87