From nobody Sat Apr 5 14:08:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1737408877; cv=none; d=zohomail.com; s=zohoarc; b=kYumkahzP/1aL1sFVOQOubXm2mvbqHmMVN/dOkA6dOICjX5aIZMk6X2FCp/ONeFxvWy7AcvgQYRsnGqz/vtr2HajGknMY9gm/Eri1zybVOU4GUVgODc5QeUcvOqTffcKRE0fY50LrvCefIcDur0wcL6xPEVnQvASP21LuLX5Prk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1737408877; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Kg3Wc9FkQhsdlaWKMxFnDGkgOYWZF0VHes7s9/jBHTg=; b=br/PxVf+9GKfZXDp/rvGk+9ExYeKfhzQWhGxLeCqqEXIeLcwYj+WnfWrsJmW1sQOaGJtxsO5mPrvs4jSKqHION47fzD3pkAmNP5TUgMnrph8neNUXrhBGHpGG9YUbgFP40nLZCZkcj5V/fLUGCidYvPL+h9whqn/LmGEBmDQZvo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 173740887718721.786741554135347; Mon, 20 Jan 2025 13:34:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tZzPG-0005j9-6O; Mon, 20 Jan 2025 16:34:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPA-0005hd-Jv for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:56 -0500 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzP9-0000ub-0X for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:56 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 72A545C5E4C; Mon, 20 Jan 2025 21:33:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D628C4CEDD; Mon, 20 Jan 2025 21:33:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737408825; bh=hiowJEZim/pl10ariAxbjJF8nbwVOGWFYrx0bQiDF1U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MjB4xn1FLJpH5e2NjmdNt0mYlxktl1dCu//jnUe95BlgF/ttpcjZXFH88+pxbaySG brgpUdzMtcmDcreF6E2BAgTvRowQ5kEHcSTg3IjaHK15035dmHj/5GByKsoUwkO0p8 ETMS1IVZgD4BLGiA+WUszClMSqI2Cb+4B48nEy4H4ejO8of7te/8OUaAPMATwtXCNQ tECwIziSZJ2h7ATTao7IGtgJJsMoqJpgx9HtrQLyVM41Zhy7XishB2n0jVHqe6oOib 1gF4jjyQwMRuUZaGClXsgIImKqfx9RMDcndlbkaQM522ISsEDnjwhMEKQ7yxrpG7Rv uqzy21n0FixPg== From: deller@kernel.org To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Laurent Vivier , qemu-devel@nongnu.org, Stefan Hajnoczi Cc: deller@gmx.de Subject: [PATCH v4 1/7] linux-user: netlink: Add missing IFA_PROTO to host_to_target_data_addr_rtattr() Date: Mon, 20 Jan 2025 22:33:34 +0100 Message-ID: <20250120213340.359195-2-deller@kernel.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20250120213340.359195-1-deller@kernel.org> References: <20250120213340.359195-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2604:1380:4641:c500::1; envelope-from=deller@kernel.org; helo=dfw.source.kernel.org X-Spam_score_int: -73 X-Spam_score: -7.4 X-Spam_bar: ------- X-Spam_report: (-7.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-3, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1737408879038019000 Content-Type: text/plain; charset="utf-8" From: Helge Deller Fixes this warning: Unknown host IFA type: 11 IFA_PROTO has been introduced in kernel v5.18, and as such using it unconditionally breaks build on Ubuntu 22.04. Instead convert the IFA_XXX values to QEMU_IDA_XXX values and use those instead. Already existing IFA_XXX usages are converted to QEMU_IFA_XXX in a followup-patch. Signed-off-by: Helge Deller Reviewed-by: Laurent Vivier --- linux-user/fd-trans.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c index c04a97c73a..05a944b32e 100644 --- a/linux-user/fd-trans.c +++ b/linux-user/fd-trans.c @@ -31,6 +31,22 @@ #include "fd-trans.h" #include "signal-common.h" =20 +enum { + QEMU_IFA_UNSPEC, + QEMU_IFA_ADDRESS, + QEMU_IFA_LOCAL, + QEMU_IFA_LABEL, + QEMU_IFA_BROADCAST, + QEMU_IFA_ANYCAST, + QEMU_IFA_CACHEINFO, + QEMU_IFA_MULTICAST, + QEMU_IFA_FLAGS, + QEMU_IFA_RT_PRIORITY, + QEMU_IFA_TARGET_NETNSID, + QEMU_IFA_PROTO, + QEMU__IFA__MAX, +}; + enum { QEMU_IFLA_BR_UNSPEC, QEMU_IFLA_BR_FORWARD_DELAY, @@ -1140,6 +1156,7 @@ static abi_long host_to_target_data_addr_rtattr(struc= t rtattr *rtattr) /* binary: depends on family type */ case IFA_ADDRESS: case IFA_LOCAL: + case QEMU_IFA_PROTO: break; /* string */ case IFA_LABEL: --=20 2.47.0 From nobody Sat Apr 5 14:08:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1737408925; cv=none; d=zohomail.com; s=zohoarc; b=SlfNnF/A6f2re5+F4ls0leLwZ+N6PwzuiG1J0+veiMBdNSpjGM9MiJgifEV1QPX+qyAqhfPYP5h6XpH7BZucVP9O8v6w3T9RD3g0s/tJDhEs6G8oPBTUT7t/EsC3V8T0CQLjFEspRYpNQi3XgsO0H+9sr+YSsWDtbLbHjCx7t1U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1737408925; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RBDqbv36d7rMU7mYNOQTbjQXNZ6ueYYWCeGW74FJuak=; b=FQAMMiDdRlDwIUlgSBSSAHcnogaRTGznGDai04B2zkz4RA3eIJgh8pNkHlVSHPcvrnI5n91+soINjVKRcEZ2cdBXOFwlXoAqdhI9THZEUIwqFSN52TMIt4A+UDRPP2N652jCkfkqqvnobYfAdA5aP9OIKpIxxbRXwdBdRnxDgJg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1737408925223235.0975237290736; Mon, 20 Jan 2025 13:35:25 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tZzPY-0005nH-48; Mon, 20 Jan 2025 16:34:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPD-0005iW-Me for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:59 -0500 Received: from nyc.source.kernel.org ([147.75.193.91]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPA-0000vN-IH for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:57 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 2E942A404DD; Mon, 20 Jan 2025 21:32:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1F4C6C4CEDD; Mon, 20 Jan 2025 21:33:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737408827; bh=f4X9zMW2UNRK6C5YvFLwtVaulKW3SQq3pLWgREWOxYk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bXwuAVEltR28ZZUPZhkVJKKt9+fmuoqsy8hy22tCQO4MkRQpdwJFw8AgKMAJuiIDC 7NHnUpDELWMFpZeu/vncE/kYB6JS8Eo8wudNRcsiVtU+W73ddErZukp6Z0fD5yfW4N nKXOg4LqII1fB8T4rfhpfSja944Vi0O/EUgiqirfxM7/Jk7EWy2VsUXyLwU8Heqwh6 2BM6OHjX68VnzEfHawYSDt0jQQR+U4UhO1r/fQAEoTNUHU9nluiEYCcV+GPOFwvIvx Sr/blVqN9fgyskHceMnEC+dPCr1cTADMSCGv0psVBeqvMy8wcqI4SZt/vSgzoG91ZK zQczDIRwytr8g== From: deller@kernel.org To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Laurent Vivier , qemu-devel@nongnu.org, Stefan Hajnoczi Cc: deller@gmx.de Subject: [PATCH v4 2/7] linux-user: Use unique error messages for cmsg parsing Date: Mon, 20 Jan 2025 22:33:35 +0100 Message-ID: <20250120213340.359195-3-deller@kernel.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20250120213340.359195-1-deller@kernel.org> References: <20250120213340.359195-1-deller@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=147.75.193.91; envelope-from=deller@kernel.org; helo=nyc.source.kernel.org X-Spam_score_int: -73 X-Spam_score: -7.4 X-Spam_bar: ------- X-Spam_report: (-7.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-3, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1737408927118019000 From: Helge Deller Avoid using the same error message for two different code paths as it complicates determining the one which actually triggered. Signed-off-by: Helge Deller Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Laurent Vivier --- linux-user/syscall.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 78c7c0b34e..a157abc40c 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1827,7 +1827,7 @@ static inline abi_long target_to_host_cmsg(struct msg= hdr *msgh, *dst =3D tswap32(*dst); } } else { - qemu_log_mask(LOG_UNIMP, "Unsupported ancillary data: %d/%d\n", + qemu_log_mask(LOG_UNIMP, "Unsupported target ancillary data: %= d/%d\n", cmsg->cmsg_level, cmsg->cmsg_type); memcpy(data, target_data, len); } @@ -2049,7 +2049,7 @@ static inline abi_long host_to_target_cmsg(struct tar= get_msghdr *target_msgh, =20 default: unimplemented: - qemu_log_mask(LOG_UNIMP, "Unsupported ancillary data: %d/%d\n", + qemu_log_mask(LOG_UNIMP, "Unsupported host ancillary data: %d/= %d\n", cmsg->cmsg_level, cmsg->cmsg_type); memcpy(target_data, data, MIN(len, tgt_len)); if (tgt_len > len) { --=20 2.47.0 From nobody Sat Apr 5 14:08:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1737408942; cv=none; d=zohomail.com; s=zohoarc; b=ZB3/UHPC+3kGqyxhoRb0CMRYPEn6/iUSKhl1BPAU26I+JgYvC+NMsKa7qBxOm7W/C44x5xbxNMKlJUZAIeX84pgAU5tOcTYpFX0JznLh4pHwX/26L2yhx+GiMq2EEBqyVQ/QV3bHNzm+LyJStAlzt7YWdnz5sO+d+cKDVq9BBsg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1737408942; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=fWx5CAuIBbJDfLzvJwb7YQTA2cvjlafVdk+7wlslSCs=; b=KUmJC7KnVogagvL16iU2C2xW1xO8YpJw1BJFh7xRhHZjroriUNSho+xs1aPO9zNguHXfGSCDljguUtbTiRu9ecKe8lGvvEdl4vI1yi5HNZCKuxDlwAkEL91Cb7mffkAFzBE/o5IuMH1iiDRUMxV/DIFkwsJRJ1KyVmDmjGxKQMg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1737408942162811.8769935575829; Mon, 20 Jan 2025 13:35:42 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tZzPX-0005mu-I3; Mon, 20 Jan 2025 16:34:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPD-0005iY-Nx for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:59 -0500 Received: from dfw.source.kernel.org ([139.178.84.217]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPA-0000w1-Pd for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:58 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id DEE705C5E4E; Mon, 20 Jan 2025 21:33:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E4FC3C4CEE0; Mon, 20 Jan 2025 21:33:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737408829; bh=ccz5LM+xc8j0WKFoIHGpIfYu4qedCCNtwYrf+iuAPzY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DS0Zmd1939gRRIXbXGh+heY73ujrYY18lgrHVBHZkGuLIarXqog//en0fMuCsIXG4 IsT/3+Mr4PXR62ZPf148X+m1A/ffvAD3Q3v9gmPE/089cCuHT9C6nX5p9GSQJjjLVQ E6dHkIB+B/zCIPjHUxsikqKmtMzb4uzF3iETHj/Jow5kYjYFMIoHSdTUEv0FQosxPZ gs31Fbb0qR9zT7XHxN3Gr7D4n5T7kzUrIQssp45V33ixmfCSM0Y6FRAc9vG/5flpFx cJVqrA6VidoPVPthblTlqjrQwwJGME6p1BbdS5JY9Pzl4B3M9LOBMykOXQFEFKt/dU 5vVztGVkfBqAw== From: deller@kernel.org To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Laurent Vivier , qemu-devel@nongnu.org, Stefan Hajnoczi Cc: deller@gmx.de Subject: [PATCH v4 3/7] linux-user: netlink: Add IP_PKTINFO cmsg parsing Date: Mon, 20 Jan 2025 22:33:36 +0100 Message-ID: <20250120213340.359195-4-deller@kernel.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20250120213340.359195-1-deller@kernel.org> References: <20250120213340.359195-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=139.178.84.217; envelope-from=deller@kernel.org; helo=dfw.source.kernel.org X-Spam_score_int: -100 X-Spam_score: -10.1 X-Spam_bar: ---------- X-Spam_report: (-10.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-3, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1737408943181019000 Content-Type: text/plain; charset="utf-8" From: Helge Deller Fixes those warnings: Unsupported host ancillary data: 0/8 Signed-off-by: Helge Deller Reviewed-by: Laurent Vivier --- linux-user/syscall.c | 10 ++++++++++ linux-user/syscall_defs.h | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index a157abc40c..df8609b4d8 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1998,6 +1998,16 @@ static inline abi_long host_to_target_cmsg(struct ta= rget_msghdr *target_msgh, (void *) &errh->offender, sizeof(errh->offender)); break; } + case IP_PKTINFO: + { + struct in_pktinfo *pkti =3D data; + struct target_in_pktinfo *target_pi =3D target_data; + + __put_user(pkti->ipi_ifindex, &target_pi->ipi_ifindex); + target_pi->ipi_spec_dst.s_addr =3D pkti->ipi_spec_dst.s_ad= dr; + target_pi->ipi_addr.s_addr =3D pkti->ipi_addr.s_addr; + break; + } default: goto unimplemented; } diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index faad9147c9..86d773add7 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -2622,6 +2622,12 @@ struct target_ucred { abi_uint gid; }; =20 +struct target_in_pktinfo { + abi_int ipi_ifindex; + struct target_in_addr ipi_spec_dst; + struct target_in_addr ipi_addr; +}; + typedef abi_int target_timer_t; =20 #define TARGET_SIGEV_MAX_SIZE 64 --=20 2.47.0 From nobody Sat Apr 5 14:08:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1737408884; cv=none; d=zohomail.com; s=zohoarc; b=AHV3cFYdnSlDV2TLCO5Q/wd3pyeZJAzpHQGTpeV8S5znHtylo1Gts4SLoroaDc68aNs3kBTJDHbP0eivqyjstDjoQ9ZZNdWxXQ9XAwkvHXmuDaVWj/sXQHHaJjD0DFSqWUUT/XSmOY64ACYyfVbiAxMh2syBwbMElxLF4k8F7hM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1737408884; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0UrhhDP5Sg7utw1R3CxPPJvWuKMMp8NxFLFpClElQ+o=; b=iXt3nlT/jvgXbYExucJr4uG7Q2CM8S82I5cLFZE8RxT75bbyYITHscTKeCTloujd3+/fzmEQr6zM3AcODLwS+JisEM7JdDQDCB03AIb6CA+1nuSjKZSgPu0bp306u01mkv6I/A39cRUj6MSCDSKYuwCqmneENL41uaJC23IUo/U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1737408884040748.476332747766; Mon, 20 Jan 2025 13:34:44 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tZzPd-0005np-8Y; Mon, 20 Jan 2025 16:34:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPF-0005jC-2K for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:34:02 -0500 Received: from dfw.source.kernel.org ([139.178.84.217]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPD-0000wh-FB for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:34:00 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id B2EF25C5E4F; Mon, 20 Jan 2025 21:33:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C60FC4CEDD; Mon, 20 Jan 2025 21:33:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737408830; bh=Ovgym6COY+4COyqSeNlwwKYtZTk/Tq2Ej2TcJmZIyic=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Xx5wspfvHjB0XdZ/mjQRujjxiSA4xgHfcwhYTUf4RQONH5waZWYM5UeOsw7nzWvNs gSrUkj2TIBZ0oyoDRWgwzVKl798/mb3cFgh24YPzQrSIIMsh2Vu7XhDjJL8ve2vPCm C5uQKd9en1Mr3mn3Th/AJYwleoeHj1Ac52puChKHDiOQ/eMpkiRe13EEaE++T1ZoJa ttS51wFtUuJ7p3ebUkQ+g5qdAtmA1wr89sH4B8jjrTrnjYDSnLj3SP9PWH7s8cuocK faTzaGyG+R1rUH344rscYUkuGn1QrJuzLJCe+/zl5J/0QTLMRCwVNmlllmSwUWdI+P F55kRH0zRJhIg== From: deller@kernel.org To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Laurent Vivier , qemu-devel@nongnu.org, Stefan Hajnoczi Cc: deller@gmx.de Subject: [PATCH v4 4/7] linux-user: netlink: Add emulation of IP_MULTICAST_IF Date: Mon, 20 Jan 2025 22:33:37 +0100 Message-ID: <20250120213340.359195-5-deller@kernel.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20250120213340.359195-1-deller@kernel.org> References: <20250120213340.359195-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=139.178.84.217; envelope-from=deller@kernel.org; helo=dfw.source.kernel.org X-Spam_score_int: -100 X-Spam_score: -10.1 X-Spam_bar: ---------- X-Spam_report: (-10.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-3, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1737408885083019000 Content-Type: text/plain; charset="utf-8" From: Helge Deller Add IP_MULTICAST_IF and share the code with IP_ADD_MEMBERSHIP / IP_DROP_MEM= BERSHIP. Sharing the code makes sense, because the manpage of ip(7) says: IP_MULTICAST_IF (since Linux 1.2) Set the local device for a multicast socket. The argument for setsockopt(2) is an ip_mreqn or (since Linux 3.5) ip_mreq structure similar to IP_ADD_MEMBERSHIP, or an in_addr structure. (The kernel determines which structure is being passed based on the size passed in optlen.) For getsockopt(2), the argument is an in_addr structure. Signed-off-by: Helge Deller Reviewed-by: Laurent Vivier --- linux-user/syscall.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index df8609b4d8..6ee02383da 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -2130,16 +2130,23 @@ static abi_long do_setsockopt(int sockfd, int level= , int optname, } ret =3D get_errno(setsockopt(sockfd, level, optname, &val, siz= eof(val))); break; + case IP_MULTICAST_IF: case IP_ADD_MEMBERSHIP: case IP_DROP_MEMBERSHIP: { struct ip_mreqn ip_mreq; struct target_ip_mreqn *target_smreqn; + int min_size; =20 QEMU_BUILD_BUG_ON(sizeof(struct ip_mreq) !=3D sizeof(struct target_ip_mreq)); =20 - if (optlen < sizeof (struct target_ip_mreq) || + if (optname =3D=3D IP_MULTICAST_IF) { + min_size =3D sizeof(struct in_addr); + } else { + min_size =3D sizeof(struct target_ip_mreq); + } + if (optlen < min_size || optlen > sizeof (struct target_ip_mreqn)) { return -TARGET_EINVAL; } @@ -2149,13 +2156,14 @@ static abi_long do_setsockopt(int sockfd, int level= , int optname, return -TARGET_EFAULT; } ip_mreq.imr_multiaddr.s_addr =3D target_smreqn->imr_multiaddr.= s_addr; - ip_mreq.imr_address.s_addr =3D target_smreqn->imr_address.s_ad= dr; - if (optlen =3D=3D sizeof(struct target_ip_mreqn)) { - ip_mreq.imr_ifindex =3D tswapal(target_smreqn->imr_ifindex= ); - optlen =3D sizeof(struct ip_mreqn); + if (optlen >=3D sizeof(struct target_ip_mreq)) { + ip_mreq.imr_address.s_addr =3D target_smreqn->imr_address.= s_addr; + if (optlen >=3D sizeof(struct target_ip_mreqn)) { + __put_user(target_smreqn->imr_ifindex, &ip_mreq.imr_if= index); + optlen =3D sizeof(struct ip_mreqn); + } } unlock_user(target_smreqn, optval_addr, 0); - ret =3D get_errno(setsockopt(sockfd, level, optname, &ip_mreq,= optlen)); break; } --=20 2.47.0 From nobody Sat Apr 5 14:08:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1737408928; cv=none; d=zohomail.com; s=zohoarc; b=e7Fvj5QYoff+dP8R/XHJRMF3daHVT9gjOpKicQWYRjxZXyzrQUAkErLe8p/Q1ujHkUZaSz0z402r98kGX/Q2jYdtQS4g+3Mq43KWV1UQhHtQH0mvk3ZNbF4FIjiV/8/7hJJr6nFLRlWdsyB4vZuDE+o+i4wrxm2pCIwMFfSeHgY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1737408928; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=qgHY+nvSepltZA28ezew+y4pXLFoChjs1ELSXiJinp4=; b=XH+owUbGaTEn0xbDhKDhe9IZ8PdT988VTGqqKIabvOIBhjVw77vpqAtXekh1gIgEL/Upk6xBRBQo4jH1red7qBhwv2dPN8uEYk+OzSX9YMlpskrOGwjShmz//zT/JBwSWAlnXl60+DfjmA5NmxzvTFduD6jFATYe91d/UaowIqI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1737408928842245.82645806526148; Mon, 20 Jan 2025 13:35:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tZzPW-0005lh-OJ; Mon, 20 Jan 2025 16:34:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPD-0005iX-N4 for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:59 -0500 Received: from dfw.source.kernel.org ([139.178.84.217]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzP9-0000xU-0Q for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:57 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 83D295C5E50; Mon, 20 Jan 2025 21:33:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5EE0FC4CEDD; Mon, 20 Jan 2025 21:33:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737408832; bh=JTVqhin2beb56vrEHH1mRc/LGI4hrl4oEoiOqbZZoVs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WdNCth4qGR3uYIFKQDzdqtIRJ9Vj6sUumwk198GIKVh+nmPM19iArhXUCF4zVLlJy KSx5d/eROXkAT/OnmTU/BExj4e7gXPZqt7FzTcfXe/rS1fX6PCvkHQA/REPEe7Gn/r 0m7i8Hx4WNZmN08P/EwdiE1jtiqasVZzhwJg7QeC7SydepgIIx2oDktIhRp7VrbWIq 5dgOOJgOtd6LkcuZtchT+iymJ1+0LKs9FtIw6W3cYzbqS9vOhj2PTt9P3sR3tqeakJ zs7Dhvpy71UhbI59pe87mOfy6iveRC1CnHNE/0jP1Mi0OH2p7A+txuHvpgUjKh6sOI PJnPIJrHBW8hw== From: deller@kernel.org To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Laurent Vivier , qemu-devel@nongnu.org, Stefan Hajnoczi Cc: deller@gmx.de Subject: [PATCH v4 5/7] linux-user: netlink: add netlink neighbour emulation Date: Mon, 20 Jan 2025 22:33:38 +0100 Message-ID: <20250120213340.359195-6-deller@kernel.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20250120213340.359195-1-deller@kernel.org> References: <20250120213340.359195-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=139.178.84.217; envelope-from=deller@kernel.org; helo=dfw.source.kernel.org X-Spam_score_int: -100 X-Spam_score: -10.1 X-Spam_bar: ---------- X-Spam_report: (-10.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-3, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1737408929463019000 Content-Type: text/plain; charset="utf-8" From: Helge Deller Fixes various warnings in the testsuite while building gupnp: gssdp-net-DEBUG: Failed to send netlink message: Operation not supported gupnp-context-DEBUG: Mismatch between host header and host IP (example.com= , expected: 127.0.0.1) gupnp-context-DEBUG: Mismatch between host header and host port (80, expec= ted 4711) gupnp-context-DEBUG: Mismatch between host header and host IP (192.168.1.2= , expected: 127.0.0.1) gupnp-context-DEBUG: Mismatch between host header and host IP (fe80::01, e= xpected: 127.0.0.1) gupnp-context-DEBUG: Mismatch between host header and host port (80, expec= ted 4711) gupnp-context-DEBUG: Failed to parse HOST header from request: Invalid IPv= 6 address ?[fe80::01%1]? in URI gupnp-context-DEBUG: Failed to parse HOST header from request: Invalid IPv= 6 address ?[fe80::01%eth0]? in URI gupnp-context-DEBUG: Failed to parse HOST header from request: Could not p= arse port ?:1? in URI gupnp-context-DEBUG: Mismatch between host header and host IP (example.com= , expected: ::1) gupnp-context-DEBUG: Mismatch between host header and host port (80, expec= ted 4711) gupnp-context-DEBUG: Mismatch between host header and host IP (example.com= , expected: ::1) gupnp-context-DEBUG: Mismatch between host header and host port (80, expec= ted 4711) gupnp-context-DEBUG: Mismatch between host header and host IP (example.com= , expected: ::1) Signed-off-by: Helge Deller Reviewed-by: Laurent Vivier --- linux-user/fd-trans.c | 100 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c index 05a944b32e..59b622aba9 100644 --- a/linux-user/fd-trans.c +++ b/linux-user/fd-trans.c @@ -25,12 +25,16 @@ #ifdef CONFIG_RTNETLINK #include #include +#include #endif #include "qemu.h" #include "user-internals.h" #include "fd-trans.h" #include "signal-common.h" =20 +#define NDM_RTA(r) ((struct rtattr*)(((char*)(r)) + \ + NLMSG_ALIGN(sizeof(struct ndmsg)))) + enum { QEMU_IFA_UNSPEC, QEMU_IFA_ADDRESS, @@ -1226,6 +1230,35 @@ static abi_long host_to_target_data_route_rtattr(str= uct rtattr *rtattr) return 0; } =20 +static abi_long host_to_target_data_neigh_rtattr(struct rtattr *rtattr) +{ + struct nda_cacheinfo *ndac; + uint32_t *u32; + + switch (rtattr->rta_type) { + case NDA_UNSPEC: + case NDA_DST: + case NDA_LLADDR: + break; + case NDA_PROBES: + u32 =3D RTA_DATA(rtattr); + *u32 =3D tswap32(*u32); + break; + case NDA_CACHEINFO: + ndac =3D RTA_DATA(rtattr); + ndac->ndm_confirmed =3D tswap32(ndac->ndm_confirmed); + ndac->ndm_used =3D tswap32(ndac->ndm_used); + ndac->ndm_updated =3D tswap32(ndac->ndm_updated); + ndac->ndm_refcnt =3D tswap32(ndac->ndm_refcnt); + break; + default: + qemu_log_mask(LOG_UNIMP, "Unknown host to target NEIGH type: %d\n", + rtattr->rta_type); + break; + } + return 0; +} + static abi_long host_to_target_link_rtattr(struct rtattr *rtattr, uint32_t rtattr_len) { @@ -1247,12 +1280,20 @@ static abi_long host_to_target_route_rtattr(struct = rtattr *rtattr, host_to_target_data_route_rtattr= ); } =20 +static abi_long host_to_target_neigh_rtattr(struct rtattr *rtattr, + uint32_t rtattr_len) +{ + return host_to_target_for_each_rtattr(rtattr, rtattr_len, + host_to_target_data_neigh_rtattr= ); +} + static abi_long host_to_target_data_route(struct nlmsghdr *nlh) { uint32_t nlmsg_len; struct ifinfomsg *ifi; struct ifaddrmsg *ifa; struct rtmsg *rtm; + struct ndmsg *ndm; =20 nlmsg_len =3D nlh->nlmsg_len; switch (nlh->nlmsg_type) { @@ -1279,6 +1320,17 @@ static abi_long host_to_target_data_route(struct nlm= sghdr *nlh) nlmsg_len - NLMSG_LENGTH(sizeof(*if= a))); } break; + case RTM_NEWNEIGH: + case RTM_DELNEIGH: + case RTM_GETNEIGH: + if (nlh->nlmsg_len >=3D NLMSG_LENGTH(sizeof(*ndm))) { + ndm =3D NLMSG_DATA(nlh); + ndm->ndm_ifindex =3D tswap32(ndm->ndm_ifindex); + ndm->ndm_state =3D tswap16(ndm->ndm_state); + host_to_target_neigh_rtattr(NDM_RTA(ndm), + nlmsg_len - NLMSG_LENGTH(sizeof(*ndm))= ); + } + break; case RTM_NEWROUTE: case RTM_DELROUTE: case RTM_GETROUTE: @@ -1426,6 +1478,35 @@ static abi_long target_to_host_data_addr_rtattr(stru= ct rtattr *rtattr) return 0; } =20 +static abi_long target_to_host_data_neigh_rtattr(struct rtattr *rtattr) +{ + struct nda_cacheinfo *ndac; + uint32_t *u32; + + switch (rtattr->rta_type) { + case NDA_UNSPEC: + case NDA_DST: + case NDA_LLADDR: + break; + case NDA_PROBES: + u32 =3D RTA_DATA(rtattr); + *u32 =3D tswap32(*u32); + break; + case NDA_CACHEINFO: + ndac =3D RTA_DATA(rtattr); + ndac->ndm_confirmed =3D tswap32(ndac->ndm_confirmed); + ndac->ndm_used =3D tswap32(ndac->ndm_used); + ndac->ndm_updated =3D tswap32(ndac->ndm_updated); + ndac->ndm_refcnt =3D tswap32(ndac->ndm_refcnt); + break; + default: + qemu_log_mask(LOG_UNIMP, "Unknown target NEIGH type: %d\n", + rtattr->rta_type); + break; + } + return 0; +} + static abi_long target_to_host_data_route_rtattr(struct rtattr *rtattr) { uint32_t *u32; @@ -1464,6 +1545,13 @@ static void target_to_host_addr_rtattr(struct rtattr= *rtattr, target_to_host_data_addr_rtattr); } =20 +static void target_to_host_neigh_rtattr(struct rtattr *rtattr, + uint32_t rtattr_len) +{ + target_to_host_for_each_rtattr(rtattr, rtattr_len, + target_to_host_data_neigh_rtattr); +} + static void target_to_host_route_rtattr(struct rtattr *rtattr, uint32_t rtattr_len) { @@ -1476,6 +1564,7 @@ static abi_long target_to_host_data_route(struct nlms= ghdr *nlh) struct ifinfomsg *ifi; struct ifaddrmsg *ifa; struct rtmsg *rtm; + struct ndmsg *ndm; =20 switch (nlh->nlmsg_type) { case RTM_NEWLINK: @@ -1502,6 +1591,17 @@ static abi_long target_to_host_data_route(struct nlm= sghdr *nlh) NLMSG_LENGTH(sizeof(*ifa))); } break; + case RTM_NEWNEIGH: + case RTM_DELNEIGH: + case RTM_GETNEIGH: + if (nlh->nlmsg_len >=3D NLMSG_LENGTH(sizeof(*ndm))) { + ndm =3D NLMSG_DATA(nlh); + ndm->ndm_ifindex =3D tswap32(ndm->ndm_ifindex); + ndm->ndm_state =3D tswap16(ndm->ndm_state); + target_to_host_neigh_rtattr(NDM_RTA(ndm), nlh->nlmsg_len - + NLMSG_LENGTH(sizeof(*ndm))); + } + break; case RTM_NEWROUTE: case RTM_DELROUTE: case RTM_GETROUTE: --=20 2.47.0 From nobody Sat Apr 5 14:08:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1737408882; cv=none; d=zohomail.com; s=zohoarc; b=BJ9fbS9QVZKWkw7dHqwQSBUr7VVIg15GVyjImOP+vyhvckSZ91QwGN8NrTjfeQmveMK/5r/Gmy346pq8tdd1m0dJwK/NaTC0ziLmY/vGq2wqT/xTVuWBvxj01UNy2c0z/J4rPZOtCjkP+Y0L5eUOeoD+9FCe9EnIqMtcdo3zaMo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1737408882; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4o1cJwhKjHrDsJWh8XIUOPckgDWnEfZHThsq03u5Q30=; b=MSgXcSVMeaI0ULqCMSAdzl877iUmOJOC7V64g0O4cisSNTEfKqEglK3d4CIiprYI/gl8jQ4U8g1GyIuaWJ/Z/9D+/XeCCqWEgFW1oaLAXOT0dBbFe8eo6GaFJ69B8bofpYtZsPrI+zoc7+guIvZ8qXs1EbALcuu0nuYf4Rm6xG8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1737408882068739.0371759442069; Mon, 20 Jan 2025 13:34:42 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tZzPL-0005jc-PL; Mon, 20 Jan 2025 16:34:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPD-0005iV-Mp for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:59 -0500 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPB-0000zH-Cl for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:33:58 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id C411B5C5E51; Mon, 20 Jan 2025 21:33:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3056DC4CEDD; Mon, 20 Jan 2025 21:33:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737408835; bh=gs/pvTJkZA3yHdUGs3smB6U+5/aS/lI5086sHuChtI4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=t7pwpoLkvtsh2SX73JsA3NmSVsa8uZp+43MeEvg1vgiXDj2KWucHPzO8XdEqWY76g mWf63YCo/5OiV1adD5iBsKO1b70dMrVYiOLmWCQGiJdNRAToE5SB2chFPRHanzmas9 RLfW8oSzjnjwS5aKTeZA/7oAc4JLAYfUv9vhvHc3ClWtpKf7rVqxj5Lxc/qksMielR 7GCyI0d9RCQ+mkXw5Siy9ELqDamF+TvqlEr/RbxDPFSWGJ2N3fi5asMNKycg2uk8Ao 2oXDJpRa4BVEmu1GcFqdtopqgR7WjVSViSfkfgWdMSciilmsdhbBB4ezvn+fvW5eo0 EIuk9M/8Ncr/g== From: deller@kernel.org To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Laurent Vivier , qemu-devel@nongnu.org, Stefan Hajnoczi Cc: deller@gmx.de Subject: [PATCH v4 6/7] linux-user: netlink: Add missing QEMU_IFLA entries Date: Mon, 20 Jan 2025 22:33:39 +0100 Message-ID: <20250120213340.359195-7-deller@kernel.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20250120213340.359195-1-deller@kernel.org> References: <20250120213340.359195-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2604:1380:4641:c500::1; envelope-from=deller@kernel.org; helo=dfw.source.kernel.org X-Spam_score_int: -73 X-Spam_score: -7.4 X-Spam_bar: ------- X-Spam_report: (-7.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-3, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1737408882950019000 Content-Type: text/plain; charset="utf-8" From: Helge Deller This fixes the following qemu warnings when building debian gupnp package: Unknown host QEMU_IFLA type: 61 Unknown host QEMU_IFLA type: 58 Unknown host QEMU_IFLA type: 59 Unknown host QEMU_IFLA type: 60 Unknown host QEMU_IFLA type: 32820 QEMU_IFLA type 32820 is actually NLA_NESTED | QEMU_IFLA_PROP_LIST (a nested entry), which is why rta_type needs to be masked with NLA_TYPE_MASK. Signed-off-by: Helge Deller Reviewed-by: Laurent Vivier --- linux-user/fd-trans.c | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c index 59b622aba9..105b1f0713 100644 --- a/linux-user/fd-trans.c +++ b/linux-user/fd-trans.c @@ -161,6 +161,14 @@ enum { QEMU_IFLA_PROTO_DOWN_REASON, QEMU_IFLA_PARENT_DEV_NAME, QEMU_IFLA_PARENT_DEV_BUS_NAME, + QEMU_IFLA_GRO_MAX_SIZE, + QEMU_IFLA_TSO_MAX_SIZE, + QEMU_IFLA_TSO_MAX_SEGS, + QEMU_IFLA_ALLMULTI, + QEMU_IFLA_DEVLINK_PORT, + QEMU_IFLA_GSO_IPV4_MAX_SIZE, + QEMU_IFLA_GRO_IPV4_MAX_SIZE, + QEMU_IFLA_DPLL_PIN, QEMU___IFLA_MAX }; =20 @@ -1002,6 +1010,22 @@ static abi_long host_to_target_data_vfinfo_nlattr(st= ruct nlattr *nlattr, return 0; } =20 +static abi_long host_to_target_data_prop_nlattr(struct nlattr *nlattr, + void *context) +{ + switch (nlattr->nla_type) { + /* string */ + case QEMU_IFLA_ALT_IFNAME: + break; + default: + qemu_log_mask(LOG_UNIMP, "Unknown host PROP type: %d\n", + nlattr->nla_type); + break; + } + return 0; +} + + static abi_long host_to_target_data_link_rtattr(struct rtattr *rtattr) { uint32_t *u32; @@ -1010,7 +1034,7 @@ static abi_long host_to_target_data_link_rtattr(struc= t rtattr *rtattr) struct rtnl_link_ifmap *map; struct linkinfo_context li_context; =20 - switch (rtattr->rta_type) { + switch (rtattr->rta_type & NLA_TYPE_MASK) { /* binary stream */ case QEMU_IFLA_ADDRESS: case QEMU_IFLA_BROADCAST: @@ -1048,6 +1072,12 @@ static abi_long host_to_target_data_link_rtattr(stru= ct rtattr *rtattr) case QEMU_IFLA_CARRIER_DOWN_COUNT: case QEMU_IFLA_MIN_MTU: case QEMU_IFLA_MAX_MTU: + case QEMU_IFLA_GRO_MAX_SIZE: + case QEMU_IFLA_TSO_MAX_SIZE: + case QEMU_IFLA_TSO_MAX_SEGS: + case QEMU_IFLA_ALLMULTI: + case QEMU_IFLA_GSO_IPV4_MAX_SIZE: + case QEMU_IFLA_GRO_IPV4_MAX_SIZE: u32 =3D RTA_DATA(rtattr); *u32 =3D tswap32(*u32); break; @@ -1143,6 +1173,10 @@ static abi_long host_to_target_data_link_rtattr(stru= ct rtattr *rtattr) return host_to_target_for_each_nlattr(RTA_DATA(rtattr), rtattr->rt= a_len, NULL, host_to_target_data_vfinfo_nl= attr); + case QEMU_IFLA_PROP_LIST: + return host_to_target_for_each_nlattr(RTA_DATA(rtattr), rtattr->rt= a_len, + NULL, + host_to_target_data_prop_nlat= tr); default: qemu_log_mask(LOG_UNIMP, "Unknown host QEMU_IFLA type: %d\n", rtattr->rta_type); --=20 2.47.0 From nobody Sat Apr 5 14:08:27 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1737408906; cv=none; d=zohomail.com; s=zohoarc; b=Z2bd3+pEWvCYXJjiHvpmhICUtr7GlaK8DJlnH3qPEkhV0jurCgXAINE1fAlaOMqap+s2BJblI5ViDtKG2YxRN4JaozyZnampQdZV1a7no07+yy9t12SzwAF3QwHVrNOu2hbRxzCkDQlFGJvIrS7aaeFVJ7qiDt3zlpBm7X80rVE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1737408906; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=suN3A2wz424FsHrowAPC9kwgG+8EOLDNBed94ugs/xs=; b=R6Ix1Z6qIfY6w4XpNWXBM2ZQkdLm9pcnR3lRnNOyAygKcKURODuOl/K/L2xVekclsUqja9MSornWXUSf0sDlHoBjyBztry6uF7DyBoWM8sU4MOTtfT963oskXrbZn26Ss/wq14NWd5gricZw22XuUeuWTJT8kyxhHSHUUC0zpmI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1737408906298994.7678544586826; Mon, 20 Jan 2025 13:35:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tZzPY-0005nP-Cb; Mon, 20 Jan 2025 16:34:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPE-0005jA-Pg for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:34:02 -0500 Received: from nyc.source.kernel.org ([147.75.193.91]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tZzPD-00010C-Dd for qemu-devel@nongnu.org; Mon, 20 Jan 2025 16:34:00 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 7CFE5A401CD; Mon, 20 Jan 2025 21:32:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6F9D1C4CEE0; Mon, 20 Jan 2025 21:33:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1737408836; bh=k4VkITVHrnQIgAjKT5pMsLkQ4VZjsEIUUHqNErGrsUg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fp6ksFWvgrByCn5W0px5xtY2/xNivdmduH3CEZT8IsEg/r27yUmdO/bj44zh3QBwk dILjsb8orFTQctrrqL6gqAxQDA9hwjjjUXgU0QrfQc/NoDMXAqWisD4CdkjwClmYoc jMNSRTN/F6Bdk+dwwbZ9acO+vrT4DSKP3iceSx8Phi0wNV8/oUka5hgsbpXCBfg3IU 5BCO2Kv//DNuLBIFR/8KwoPC/6M5lgSwW2ZE063OgSTdxP40Y3GzVN2/78hyCcyxdR fuMZ15nGPkC/5J48aljnfHhoxsqRYHWUwpXo1XfBxuKfAQFs5JNlsLAjU1c+fF0bDR SImAf4lPOrOaA== From: deller@kernel.org To: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Laurent Vivier , qemu-devel@nongnu.org, Stefan Hajnoczi Cc: deller@gmx.de Subject: [PATCH v4 7/7] linux-user: netlink: Use QEMU_IFA_XXX values instead of IFA_XXX Date: Mon, 20 Jan 2025 22:33:40 +0100 Message-ID: <20250120213340.359195-8-deller@kernel.org> X-Mailer: git-send-email 2.47.0 In-Reply-To: <20250120213340.359195-1-deller@kernel.org> References: <20250120213340.359195-1-deller@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=147.75.193.91; envelope-from=deller@kernel.org; helo=nyc.source.kernel.org X-Spam_score_int: -73 X-Spam_score: -7.4 X-Spam_bar: ------- X-Spam_report: (-7.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-3, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @kernel.org) X-ZM-MESSAGEID: 1737408907063019000 Content-Type: text/plain; charset="utf-8" From: Helge Deller Convert existing places to use QEMU_IFA_XXX values. Signed-off-by: Helge Deller --- linux-user/fd-trans.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c index 105b1f0713..f83d1f79d5 100644 --- a/linux-user/fd-trans.c +++ b/linux-user/fd-trans.c @@ -1192,21 +1192,21 @@ static abi_long host_to_target_data_addr_rtattr(str= uct rtattr *rtattr) =20 switch (rtattr->rta_type) { /* binary: depends on family type */ - case IFA_ADDRESS: - case IFA_LOCAL: + case QEMU_IFA_ADDRESS: + case QEMU_IFA_LOCAL: case QEMU_IFA_PROTO: break; /* string */ - case IFA_LABEL: + case QEMU_IFA_LABEL: break; /* u32 */ - case IFA_FLAGS: - case IFA_BROADCAST: + case QEMU_IFA_FLAGS: + case QEMU_IFA_BROADCAST: u32 =3D RTA_DATA(rtattr); *u32 =3D tswap32(*u32); break; /* struct ifa_cacheinfo */ - case IFA_CACHEINFO: + case QEMU_IFA_CACHEINFO: ci =3D RTA_DATA(rtattr); ci->ifa_prefered =3D tswap32(ci->ifa_prefered); ci->ifa_valid =3D tswap32(ci->ifa_valid); @@ -1501,8 +1501,8 @@ static abi_long target_to_host_data_addr_rtattr(struc= t rtattr *rtattr) { switch (rtattr->rta_type) { /* binary: depends on family type */ - case IFA_LOCAL: - case IFA_ADDRESS: + case QEMU_IFA_LOCAL: + case QEMU_IFA_ADDRESS: break; default: qemu_log_mask(LOG_UNIMP, "Unknown target IFA type: %d\n", --=20 2.47.0