From nobody Wed Apr 22 18:10:22 2026 X-Original-To: dev-commits-src-main@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 4g16hb0tn9z6b2pG for ; Wed, 22 Apr 2026 18:10:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g16hZ2rTnz4Ddl for ; Wed, 22 Apr 2026 18:10:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776881422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZapJHb+jV6zNWcWULV+Cn3wju6XcirwjtsXc7LS+grM=; b=NpYWb0jUSWIqTLpy4nXtowMvIC7o8OoBmcmmjU7zwdX15RD2p1NQqywj2zKetMWq02KzXp WBl9XLqoB4z0Ag/akqPdhK3TFRjVu+1O3ymZHYczJFsgD4abMFP/XG4BQ+W5f+k/JrIpiA vDs8AHzXW72aJazF/WCEA8Jmp3IWqluLE5MV5zyp/mCNuQ3a20pX5KyrM8uWrGNI4Om78a knPqbNA5pa+XCfsMRYVXete0tobTNSGeWmNR3Kmv2M8gx/dBrvLUEssgv+PEAOcKDyoHM6 vZ6bGsAJOPltqTKgTXBw80YH6qyY508Ojn/JmAmoL59r21VJHrOJB6EQHcAbNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776881422; a=rsa-sha256; cv=none; b=EsK5v8KYhDlYLTP16WXVPB1NC49mOpRlVAIVFNFue2jNEFG1V7GCAjm8gPGhj91UKyYvn4 IuSkVQIufjc+SeyJxbVAXNBG+vPfpPnCyFcuo6W1XHOwkLNij0YwcVcqyX2satDc1jPxVf a4dcwJBvSgmVA8ccTASue24N6eR1D2YFDT7+AKNZzGR0LJSluD3pCvIGqUP1KpbgRapves LotJqArzU4OfdNfHc7+cuWkpOJTrsdaOeNNjsh5Un698VHFgASsvttUUBIYF7ZZKPlSWva /jNblzB9gFfgsXi7FrO7mE1z8SMp9U4gyHyw113CkUdxgkd8fd8rohCHW8D8Xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776881422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZapJHb+jV6zNWcWULV+Cn3wju6XcirwjtsXc7LS+grM=; b=HRf2nC617Yt+6/eqrrl0+YzyvmwJo2H+6yhcQ8EKDipgCYlTnxWp8yBgcgJaHwLlLhoNT0 u5gWsi68MxfRbgwLz99wEem1Cw0BhyjFCC4cqa45aL+UwRumwvgeS7Kg6/KA1uLp7ogLuv 89E/f3Jf9LBjNBv9/Nm9+qMlKx/Yqeflf/+FMrkFk4AADd+bpMnCe2jLajphOK0ZEBQDiX 09G7aOfjomq9s7osR+Z/+It663tGx92VBuXbEi0G46MedBN0gKDlu+X5mqF0viAV3uszJm Q5Bz9JviRiQNWgYGJfO6YVLD3FV25qjX2PPZe30CjHhjTkg1ICoeciMgpYO7MQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g16hZ1X2Pzj0S for ; Wed, 22 Apr 2026 18:10:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4412f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 22 Apr 2026 18:10:22 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: 7643dd70a4df - main - linuxkpi: Add `kmemdup_array()` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7643dd70a4dfa5fd874300a7161c24b808d6b134 Auto-Submitted: auto-generated Date: Wed, 22 Apr 2026 18:10:22 +0000 Message-Id: <69e90f0e.4412f.4d1a9975@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=7643dd70a4dfa5fd874300a7161c24b808d6b134 commit 7643dd70a4dfa5fd874300a7161c24b808d6b134 Author: Jean-Sébastien Pédron AuthorDate: 2026-04-12 22:23:06 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-04-22 18:09:54 +0000 linuxkpi: Add `kmemdup_array()` It is similar to `kmemdup()` but takes a number of elements to duplicate and their size. The i915 DRM driver started to use it in Linux 6.12. Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56444 --- sys/compat/linuxkpi/common/include/linux/string.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/string.h b/sys/compat/linuxkpi/common/include/linux/string.h index 8ca20df27792..ad2b2fe7d377 100644 --- a/sys/compat/linuxkpi/common/include/linux/string.h +++ b/sys/compat/linuxkpi/common/include/linux/string.h @@ -98,6 +98,12 @@ kmemdup(const void *src, size_t len, gfp_t gfp) return (dst); } +static inline void * +kmemdup_array(const void *src, size_t count, size_t element_size, gfp_t gfp) +{ + return (kmemdup(src, size_mul(count, element_size), gfp)); +} + /* See slab.h for kvmalloc/kvfree(). */ static inline void * kvmemdup(const void *src, size_t len, gfp_t gfp)