From patchwork Mon Jan 8 01:20:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miguel Ojeda X-Patchwork-Id: 185781 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:37c1:b0:101:2151:f287 with SMTP id y1csp779343dyq; Sun, 7 Jan 2024 17:23:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IFacZgi3FyOykz4/LhPf9iqNT9eweEL9lImOyxDvhFl/ogmjPOwD1nk7a9GXSfiyPxLU7LT X-Received: by 2002:a05:620a:214e:b0:781:58de:f65b with SMTP id m14-20020a05620a214e00b0078158def65bmr3474566qkm.150.1704676991077; Sun, 07 Jan 2024 17:23:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704676991; cv=none; d=google.com; s=arc-20160816; b=K8NNDmE52W3eKcJzvObFMFDjTUSL2yOSjbonh3NgCdWw8zxVc6afBxeuYvhq7Twwys kk+KhVSG2qJ+zYtUQfg2hRNqy2pN52mF1MSZzF140eHwkDusBWHjaJAbKlXXOk6tdjU4 JyhFW1bTRLq0HSREQ9qBgmCRaGlSikyK/7PvzGDI3wDkYIArSDx/hwlhzqfS4EJn/udn zHUK5Z9ZxSNOLG8b6vT0PsfdIHMjFxnCX9knRqOdDiVJ/9A6l3c/QYuKv7o0/prP4yjb 52zRc/xoWpeDcWzlzFgVXGZDZ5Cceg/b2AJ+MsUTajQsQqVwNI83LlrWQSzP+oNcCpLb 3ceA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=iWPWiYXxXw0lZNZQf7X83E0JE9izMPeZ/SlAVeSdPzY=; fh=hevvz3SjA01ZtPFHwdeL5M4ia8ooYKb7Iq6mLmatHzE=; b=v1FjCvVp8zF97wBsGemu3057dt5ZW0mh598uyGMYe0V9OfjCLXaCZ3MwEr6yLIwKZZ dHcnezjSQOlRVlH9k5g/VlNyJmretm+uKjYBA7y9+itiKgg6XcT5hfE3DpyTFLTumxxd 2F7QDIhPZ70H2Sn0Q0OorT37nGWrV2Lgpg/wT3tkZPnd8m2WkSgo80MPOOmmZLQPk7kK IxL0ngedsM7VwlfdpSzsfmj0rDZR1UDwtw3pmhSAECkmdi+HJf/vVDZGAi3M3c8k7YDA 24OtoRmbWGajarHsWkPUaJklak2mZWCTDmVq9gA2mUhe0G7mVoq2gNiiodJoFpYEA1eJ t1hg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=a6sE1gu+; spf=pass (google.com: domain of linux-kernel+bounces-19037-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-19037-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id pj37-20020a05620a1da500b007831496939dsi3423413qkn.395.2024.01.07.17.23.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Jan 2024 17:23:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-19037-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=a6sE1gu+; spf=pass (google.com: domain of linux-kernel+bounces-19037-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-19037-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id D99BF1C215BF for ; Mon, 8 Jan 2024 01:23:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7275517FD; Mon, 8 Jan 2024 01:22:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="a6sE1gu+" X-Original-To: linux-kernel@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D5D1B7E2; Mon, 8 Jan 2024 01:22:51 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE133C433C9; Mon, 8 Jan 2024 01:22:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1704676971; bh=U48ddkhZbLIGmAm3tOALZCKxURR7hnYXdKWlBy0GGfA=; h=From:To:Cc:Subject:Date:From; b=a6sE1gu+iyHrvqLEnF3gZ8hqAMt0d19Tqb51eyQ2y2jfyu1rqDD1r8efs0JJpQFxC zMj5zgm7a4R9GKgCKIZtyMr8AcFAoBmbZcjntIqii3a7oYckywD/hUf6w8xY9hxlDd RxkbQEn0NVYbwyLerVdgNCQm2UXJujPH88oANXwqfMfbdjhQF4mYxbHUoGZqrWH7Vq J5vRqS5fQLhjoPwwwE/lWxF7piM93sxB6FkYgXN7Kc40fUU6QxsrYG9ku3Gj0agCB3 uvKIN3d5uOaN0wMVkybTQDY38e+AXOogFbXijQADywzuxNezlkMrOUG2/gtPhcEJE4 ahvkb+qzKzzCw== From: Miguel Ojeda To: Linus Torvalds Cc: Miguel Ojeda , Wedson Almeida Filho , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] Rust for v6.8 Date: Mon, 8 Jan 2024 02:20:55 +0100 Message-ID: <20240108012055.519813-1-ojeda@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1787483380625455476 X-GMAIL-MSGID: 1787483380625455476 Hi Linus, This is the next round of the Rust support. All the commits have been in linux-next for more than a couple weeks, but only for 3 -next tags given the holidays (first one next-20231222). No conflicts expected. No changes to the C side. There are also some Rust abstractions for network PHY drivers (with a Rust reference driver included for Asix PHY) which you will likely get through the networking tree. No conflicts expected with those either, and tests pass with those merged too. Please pull for v6.8 -- thanks! Cheers, Miguel The following changes since commit a39b6ac3781d46ba18193c9dbb2110f31e9bffe9: Linux 6.7-rc5 (2023-12-10 14:33:40 -0800) are available in the Git repository at: https://github.com/Rust-for-Linux/linux.git tags/rust-6.8 for you to fetch changes up to 711cbfc717650532624ca9f56fbaf191bed56e67: docs: rust: Clarify that 'rustup override' applies to build directory (2023-12-21 22:47:40 +0100) ---------------------------------------------------------------- Rust changes for v6.8 Another routine one in terms of features. In terms of lines, this time the 'alloc' version upgrade is less prominent, given that it was fairly small (and we did not have two upgrades). Toolchain and infrastructure: - Upgrade to Rust 1.74.1. The patch release includes a fix for an ICE that the Apple AGX GPU driver was hitting. - Support 'srctree'-relative links in Rust code documentation. - Automate part of the manual constants handling (i.e. the ones not recognised by 'bindgen'). - Suppress searching builtin sysroot to avoid confusion with installed sysroots, needed for the to-be-merged arm64 support which uses a builtin target. - Ignore '__preserve_most' functions for 'bindgen'. - Reduce header inclusion bloat in exports. 'kernel' crate: - Implement 'Debug' for 'CString'. - Make 'CondVar::wait()' an uninterruptible wait. 'macros' crate: - Update 'paste!' to accept string literals. - Improve '#[vtable]' documentation. Documentation: - Add testing section (KUnit and 'rusttest' target). - Remove 'CC=clang' mentions. - Clarify that 'rustup override' applies to build directory. ---------------------------------------------------------------- Asahi Lina (1): rust: kernel: str: Implement Debug for CString Benno Lossin (1): rust: macros: improve `#[vtable]` documentation Boqun Feng (1): rust: sync: Makes `CondVar::wait()` an uninterruptible wait Dirk Behme (1): docs: rust: Add rusttest info Gary Guo (1): rust: bindings: rename const binding using sed Masahiro Yamada (1): rust: replace with in rust/exports.c Matthew Maurer (2): rust: Ignore preserve-most functions rust: Suppress searching builtin sysroot Miguel Ojeda (3): rust: upgrade to Rust 1.74.1 rust: support `srctree`-relative links docs: rust: remove `CC=clang` mentions Trevor Gross (1): rust: macros: update 'paste!' macro to accept string literals Viresh Kumar (1): docs: rust: Clarify that 'rustup override' applies to build directory Documentation/process/changes.rst | 2 +- Documentation/rust/coding-guidelines.rst | 13 +++++ Documentation/rust/general-information.rst | 24 +++++++++ Documentation/rust/quick-start.rst | 18 +++---- rust/Makefile | 8 ++- rust/alloc/alloc.rs | 32 +++++++---- rust/alloc/lib.rs | 6 +-- rust/alloc/slice.rs | 2 +- rust/alloc/vec/mod.rs | 87 +++++++++++++++++++++++++++++- rust/bindgen_parameters | 4 ++ rust/bindings/bindings_helper.h | 6 +-- rust/bindings/lib.rs | 3 -- rust/exports.c | 2 +- rust/kernel/allocator.rs | 2 +- rust/kernel/error.rs | 6 ++- rust/kernel/ioctl.rs | 2 +- rust/kernel/kunit.rs | 2 +- rust/kernel/print.rs | 8 +-- rust/kernel/str.rs | 6 +++ rust/kernel/sync/condvar.rs | 32 +++++------ rust/kernel/sync/lock/mutex.rs | 2 +- rust/kernel/sync/lock/spinlock.rs | 2 +- rust/kernel/task.rs | 2 +- rust/kernel/workqueue.rs | 2 +- rust/macros/lib.rs | 62 +++++++++++++++++---- rust/macros/paste.rs | 10 +++- scripts/Makefile.build | 1 + scripts/min-tool-version.sh | 2 +- 28 files changed, 275 insertions(+), 73 deletions(-)