From nobody Fri Jul 4 23:36:14 2025 Delivered-To: importer2@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+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=silabs.com); dmarc=fail(p=none dis=none) header.from=silabs.com ARC-Seal: i=2; a=rsa-sha256; t=1678204111; cv=pass; d=zohomail.com; s=zohoarc; b=GzOyTWbSZfsWxjqE4aVQekivSEBsqK3sLGqZT7HD1o9kcs1KkKnF7GXo0TnwwCOaOz0morXxqYqefsE43OqODNtLt9A5l8TJ2RYsd0w+Hx7VL40lhIj/0etk/uJVhdZbtt2eyaNLx1mcZ1qTxkSx8cJyOzk34cz+cMfvGckMJeo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678204111; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bgsYswK2s7kcD91NomxaKu8Lk2CV9O1fgz9/D7frdMQ=; b=BUE0ijuq06zmeS4s8evoFypiPmieTFFhEtP02JmzagTujGGkatcCQbpQc2YpXtblPbXCSDbDwHKoUPj+XrHt5cdY7uqYWX0rvc1LHLgByLroFHBGAAiE3HMN3eMF6ofDBaH6q0zoCDmBokF5OcHn0yG76hv8pRVE0e+Oe6OU9c8= ARC-Authentication-Results: i=2; 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+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=silabs.com); dmarc=fail header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1678204111333289.3905996389552; Tue, 7 Mar 2023 07:48:31 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pZZXe-0007i8-Ml; Tue, 07 Mar 2023 10:47:54 -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 1pZZXc-0007hH-PA for qemu-devel@nongnu.org; Tue, 07 Mar 2023 10:47:52 -0500 Received: from mail-sn1nam02on2061a.outbound.protection.outlook.com ([2a01:111:f400:7ea9::61a] helo=NAM02-SN1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pZZXb-0007NM-8n for qemu-devel@nongnu.org; Tue, 07 Mar 2023 10:47:52 -0500 Received: from MN2PR11MB4711.namprd11.prod.outlook.com (2603:10b6:208:24e::13) by IA0PR11MB7909.namprd11.prod.outlook.com (2603:10b6:208:407::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.21; Tue, 7 Mar 2023 15:47:46 +0000 Received: from MN2PR11MB4711.namprd11.prod.outlook.com ([fe80::7c51:672e:ffe:7b74]) by MN2PR11MB4711.namprd11.prod.outlook.com ([fe80::7c51:672e:ffe:7b74%3]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023 15:47:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M3+ZIcb2+hSeCJ5/JFoaLuYtTjg/MMw6NFzHZtrG0Dv6ZHo/lRZL9v50BXbyi0YIE87rxF7WsxtzLcEuLsLkzvmT3VD+Mu7oWVXDD96DF9plvcEeQHXKOeeQmo+poxwveyVp7nFX3RCKHMyiUZAu2L50xMA12strRdjV4snQgVPUNh8xrxgNHMN4NEMVEZSeTHbkveO6Faoi8hwrb7eDG6g7Jc6yFC8pqsHgOM+2YH0PurC3ZPPzx87ZMS94H4ZHZHUoBDG+bhHEOrv5XQr6jC3VuNJd7LTLo2U9/56UJ9HYs4hQXvnDWnwW9R/xpY1jRnGyaRRcLyEuv5hvf0zskw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bgsYswK2s7kcD91NomxaKu8Lk2CV9O1fgz9/D7frdMQ=; b=ek+ALAmPwkmF4ajxdt6ljRhwM6BdwzWGaQWZmGe+BoOCKOpdPP2kMQtziexWIHqDRZcvCyRLTmQk3wzyWd9z6L10plDrQQBAYERrC5SGF0H5W0F5r3a1+9uXDTUu+sq07qw7zFgyPC7ZHkgOz+dccyfbrvJuZB4APKQFpoGZgLjM38n/Ro4UfjC4g9ckNln4WjoUJwA/xdh9H0c7rLt0GklMnmGLb0pJ6+qoO287BFeogZiM47LZ3pfJmOcOd87PLFVuTiC/C1fbMWiaBIj72lS5TsMcajeBEzM9JR3zX1HH2G0Xe70JYCAaPK8zqhDXqzGVaInz74jY0POdO1ZmOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bgsYswK2s7kcD91NomxaKu8Lk2CV9O1fgz9/D7frdMQ=; b=pcoZWMbSDpgAjXPXHrV5fIPcm8J07ZIV/tDHRwdtWvnStJFIP12HQMqaOaFbYTMHsuhZpq7w4xD2YbfpWo+oV1aXGAUrYIXAjhDkxtInj7BZFbshEuOCHODEeoNvlCfwtquNF/ipijBSXkajG/3XTV4zssMqyMriaLiqmepsb0E= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=silabs.com; From: Mathis Marion To: Laurent Vivier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-devel@nongnu.org, =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= , Mathis Marion Subject: [PATCH v3 2/2] linux-user: handle netlink flag NLA_F_NESTED Date: Tue, 7 Mar 2023 16:42:56 +0100 Message-Id: <20230307154256.101528-3-Mathis.Marion@silabs.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230307154256.101528-1-Mathis.Marion@silabs.com> References: <20230307154256.101528-1-Mathis.Marion@silabs.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PR3PR09CA0009.eurprd09.prod.outlook.com (2603:10a6:102:b7::14) To MN2PR11MB4711.namprd11.prod.outlook.com (2603:10b6:208:24e::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN2PR11MB4711:EE_|IA0PR11MB7909:EE_ X-MS-Office365-Filtering-Correlation-Id: 3129aaf0-42db-4661-bb8b-08db1f234c3f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vT7hfoiptPE3GKCDCG5A5N/0s4UONM4obnKcLzrbm76/H1xQD9yOf2UNQqPyrpy2o6Nvr1PqUv+H0CK8LYl6RN4Bd6KYn9Z5BGh3S+PO9eKKuXgv5IYczxBsLfQ06plJivKusMqPRk+GgltLrcwA0DPsLsKSNDnjGoF2f/SNzuYOHBoSbxUmCglf03LHbOdQvWcttFCBKzq7VgwF1J61O91/5X+KrulvAv326ezw2SXFinWcK0M3s4DB4vk/2ysyc7Cg18SWrJo/dqRZnqFH/S0j28TIOVkEFg0XDYy32V7gZ0oJNiJO64WH4CDhZUcRmHPawZlNUIVSjbyfK6+yXyTqQTKEX+l1CUf80TZYfZuN72Lj7I9Ob+FmzY3LAEZW87weI6SJmWfaovsbuYFP6B8DWK58LJuGdEe4gGY03kZdJeQHRy2K1g3RCGELE6UgMxS6b/z2RVx/XojRdkVip+cpfxPUfA0KaGQzrX2M5LW3V2D3pHnkmz2KZCuQYaQAbFZURKJxnFE9z+GKyW5kBeK7hHU2ZdjToI7DCiHv+CPm5RDdIkDqz/+sFJOFy7d4bcgSC6VwhaZcbtAI4nH8hNEz3d+sq2E9BqBNK7O5xCLBi9ow8LyadCA2h9mCK/mqFVomUrzByaL+348Ghvmq6433V+bJAflPj/q4DfovIitmZSfHT//WZN5G3+0NRZ75oSbgDBbqU6rvuCFgruoR6g== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4711.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(376002)(39860400002)(346002)(396003)(366004)(136003)(451199018)(38350700002)(5660300002)(36756003)(38100700002)(186003)(6512007)(478600001)(4326008)(52116002)(66476007)(66556008)(66946007)(6506007)(2616005)(41300700001)(8676002)(1076003)(26005)(8936002)(86362001)(6666004)(54906003)(107886003)(316002)(110136005)(2906002)(83380400001)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YmFFMzecaVYOf9iuYYFDhwgHVB04qNn9urn1/tAvHdFvuT44f0iCV+wt0FIX?= =?us-ascii?Q?dsjTLSOsOx5rqxWQFI8GC0zfb50YG4jVN0Bv8pZFo1r5L+R2Cb9wrJazXM9Y?= =?us-ascii?Q?cgBMJpIZGSw5rxGPlE8bo+GuDK/Ek3n6EUN97lNzPaWr9d2oog61RUk4JFdq?= =?us-ascii?Q?XAja9wdOonbpwrS6fGOpWNlN7IACvGsrCmduHO6m5gRaTngz7PKM6mHkNTEX?= =?us-ascii?Q?RFG2qN79bubuBJaEky+kloOhUvCGzLSRavts+IWkDA2vOBccvzLGhMpwC/8F?= =?us-ascii?Q?AeoIyTaorVwwM6kh+u4iucdb0uWqMv9dgMRHRSV0dhTOm+JmBBQV4DDTixl4?= =?us-ascii?Q?nc9WOwS76fcywAslvb8KIahuVn16rvjOXr+IMsgwi16kRJQLYJgQ2B7b4JVM?= =?us-ascii?Q?PgLzz3iSFoiId/o33wWfDC/65hIYS5+xGnWDg3F4IFzYa08cITD1XlzhgFl1?= =?us-ascii?Q?CATPdOew/HETrYrjUste8/+lFIlYZh1uxUtWPY4ObqDcfDKVZ4j0iE/CYCs1?= =?us-ascii?Q?6BJcjP6MZ5HJEOSfV9bQDYSLDQ4ckeDZbq0rAJC9NcRcD1u16jx4Z4k6I1ZL?= =?us-ascii?Q?tOnuCB5lqVMbd12nO1KPo5Jrfmp3EvJo7kqegZ7c5IBh7xwxg07S27BAANQD?= =?us-ascii?Q?zC6ua4kiKJtOjowoJJTWSIr3s3QXmg6wXGpm6kAf4d8/DTCizWSHw4GEQFAH?= =?us-ascii?Q?wmdOHpa9t3QYnxHq2u60RpIisLbMjIKP8jnl8aRipnJU/ZmhOvU/8+jLq0se?= =?us-ascii?Q?YUH+YJ9GyQN7oWeKAvR3aFkMHQif6vNgqIfTmT7VUByTjzKnJr8TrAZ8Tk6f?= =?us-ascii?Q?6sCf9C5yYPtkm3i+TRd+JI7TzEzD6LGG6ifuesUToFdx6EkzWU27JjxYMXr0?= =?us-ascii?Q?rYsY4Xk1Nxn4of1vok9SObEuJCvrXBp4DRt49Rn9/lcaMgz1yGLWVp9wGHO8?= =?us-ascii?Q?+5GJ923FDInM+gfBbiJI8U1U8/0t3574Oa2Z/OV1E3Jwgfo2QKcQcekP3OT0?= =?us-ascii?Q?j4nfrbcPDC1A+mHB3ovXgSuDdYjbloU9C5Lot56hqQxnjajO3zfe+W8w56Dv?= =?us-ascii?Q?ndo05l362tTt3x5+0HdZTxP6gr4bDvNPI+yFuPF3/4LDA/7ydGL6y0fqJmZz?= =?us-ascii?Q?fQOEiKXpHwsnXAE9yfqZ26c7tTNTsr5KXAwrN7uKqaeabhO3BsDz/k2eMcNy?= =?us-ascii?Q?fbMVIzAdZrbF7zuklgs526TTJDaFgbjWGL8TtPWslBii7mw7hzV0mM7UBzAO?= =?us-ascii?Q?Pm+X30tsbf53t1zGQ/0RJtcrSZzeL0VmtbTbXo1Jpzc/PNwl2w/IK2expR0W?= =?us-ascii?Q?x8towq4NtnW6fF9ZeI32mDHBRBvFl9wXcxV+oyTAPyedUPMfipvwsG+JaoLU?= =?us-ascii?Q?gsohz6+IzVhlDRtsTOUzEpQUxmCGATibG7VhOiRyudHAmfqqXuxvDxT6sagw?= =?us-ascii?Q?G9RonwTeS+J0QVKIWNjBmeXD9OpC4Qud5msLmQ4HD3SvQL6eI98xR8HWTgrN?= =?us-ascii?Q?3aHGov2lz0RQIREkS27d3dlymvEFV/zTTW9SLNtq+jkBKX7+VehgNAJKh4Gy?= =?us-ascii?Q?CTNAHlX3mHkK8LSIzfaBurP1fe1fKObJsRkDsKu9?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3129aaf0-42db-4661-bb8b-08db1f234c3f X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4711.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 15:47:46.8337 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xIWJ2EGzz2FbJuTX8sH02bCiAjmp013TtnBaEpDbH3JzruQZy66nMakxsI50XX8GPAH6TcDCK6mibLUxKV0e5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR11MB7909 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+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: permerror client-ip=2a01:111:f400:7ea9::61a; envelope-from=Mathis.Marion@silabs.com; helo=NAM02-SN1-obe.outbound.protection.outlook.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FORGED_SPF_HELO=0.001, MIME_BASE64_TEXT=1.741, SPF_HELO_PASS=-0.001, T_SPF_PERMERROR=0.01 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+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @silabs.onmicrosoft.com) X-ZM-MESSAGEID: 1678204111977100002 Content-Type: text/plain; charset="utf-8" From: Mathis Marion Newer kernel versions require this flag to be present contrary to older ones. Depending on the libnl version it is added or not. Typically when using rtnl_link_inet6_set_addr_gen_mode, the netlink packet generated may contain the following attribute: with libnl 3.4 {nla_len=3D16, nla_type=3DIFLA_AF_SPEC}, [ {nla_len=3D12, nla_type=3DAF_INET6}, [{nla_len=3D5, nla_type=3DIFLA_INET6_ADDR_GEN_MODE}, IN6_ADDR_GEN_MODE_= NONE] ] with libnl 3.7 {nla_len=3D16, nla_type=3DNLA_F_NESTED|IFLA_AF_SPEC}, [ {nla_len=3D12, nla_type=3DNLA_F_NESTED|AF_INET6}, [{nla_len=3D5, nla_type=3DIFLA_INET6_ADDR_GEN_MODE}, IN6_ADDR_GEN_MODE_= NONE]] ] Masking the type is likely needed in other places. Only the above cases are implemented in this patch. Signed-off-by: Mathis Marion Reviewed-by: Laurent Vivier --- linux-user/fd-trans.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c index 4852a75d9d..c04a97c73a 100644 --- a/linux-user/fd-trans.c +++ b/linux-user/fd-trans.c @@ -1359,7 +1359,7 @@ static abi_long target_to_host_for_each_rtattr(struct= rtattr *rtattr, =20 static abi_long target_to_host_data_spec_nlattr(struct nlattr *nlattr) { - switch (nlattr->nla_type) { + switch (nlattr->nla_type & NLA_TYPE_MASK) { case AF_INET6: return target_to_host_for_each_nlattr(NLA_DATA(nlattr), nlattr->nl= a_len, target_to_host_data_inet6_nl= attr); @@ -1375,7 +1375,7 @@ static abi_long target_to_host_data_link_rtattr(struc= t rtattr *rtattr) { uint32_t *u32; =20 - switch (rtattr->rta_type) { + switch (rtattr->rta_type & NLA_TYPE_MASK) { /* uint32_t */ case QEMU_IFLA_MTU: case QEMU_IFLA_TXQLEN: --=20 2.39.2