From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS17314 8.43.84.0/22 X-Spam-Status: No, score=-4.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (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) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id AAE571F4C1 for ; Tue, 29 Nov 2022 08:56:10 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="agBclIDO"; dkim-atps=neutral Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 47E99385B196 for ; Tue, 29 Nov 2022 08:56:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 47E99385B196 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669712169; bh=jmFh4rXVLHdWNWBTciBhjNBfeo8nAv4d0SUNUzl1vy0=; h=Date:To:Cc:Subject:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=agBclIDOSdpfCW0Lji0m2Sxi9/QoBv+iKm7C1pldJ5jm0+n7nFaQHi5ELoGRXnthp Rwm/GH4kWbelki1Kvnta4JoVcOTXbcgttgfDlIt5o+0ZRfPwdl1/P5Qx8aU8vKVjlY 7H6gfbiCT+LjkKFdO0PWWGgXdMZwreoCe1GqHLU8= Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2073.outbound.protection.outlook.com [40.107.21.73]) by sourceware.org (Postfix) with ESMTPS id 852633858C53 for ; Tue, 29 Nov 2022 08:55:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 852633858C53 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oaxfrH0ntPPn3Oay9uxjzwwQVveflQDm92qruoM6IsRoIorvknOf5Kc+K4HK6vVtUOQN0f4QGvgUCH90/hhD39GMrt2CKkrgpHrZ7drfJJM1qmT89Cp4fZDqoeEmLLgtm/6AIyWGPSO+22L0cRXeChPqFI2kM56KWs8qs60s0cZCcRZMl+9lKW7St4VfQbYWmJAgOa61LB0xRZxCBht4QeYdqU9bkSvys1oFSdh/Sfn0iGOThtZz87NHQMMSlN8HUzeOvLsyFEBC7qkMWMaYxVo6CfI+MlaMVRELTPX7aPuHQ62q/HlWgtL9L4JdDoLQj4gkRbm/lvb5+jJClWH/pw== 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=jmFh4rXVLHdWNWBTciBhjNBfeo8nAv4d0SUNUzl1vy0=; b=CrSuXjKOYQsq/8syhmxz+4UbcyI+BCP4KVuB7AIW0664W2XYPFTFB8dRkIkP761axHmGDta8spkfOgqFdT7eJF7v852A9w3yZtguJpabB9ZGcvVgqqelYhlJq0Zv0eUNGccli+xf9J23L4+kYRhPlmyQDdPW0K9ScoJP49ZA+OhzOhNKng/S+dnNybRqjSRD+CDYSqhR5El3tJLN/u5Pza5CGFJFYQzWCoM+0K6X5ozxtPDEEP2jTAnR62+XI/DQHhxnzXwzbiMR0xK2Toi/AhQqMukkcSmk81W40AgW+BIDsIfmjoNJuUOuh5ihqzDIwENRGHbCHhMwLFjiDp4ETA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Received: from DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) by DB9PR08MB9657.eurprd08.prod.outlook.com (2603:10a6:10:454::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.6; Tue, 29 Nov 2022 08:55:45 +0000 Received: from DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::81ce:94a0:632d:7016]) by DB9PR08MB7179.eurprd08.prod.outlook.com ([fe80::81ce:94a0:632d:7016%4]) with mapi id 15.20.5880.008; Tue, 29 Nov 2022 08:55:45 +0000 Date: Tue, 29 Nov 2022 08:55:24 +0000 To: XingLi Cc: adhemerval.zanella@linaro.org, libc-alpha@sourceware.org, i.swmail@xen0n.name, xry111@xry111.site, caiyinyu@loongson.cn, wanghongliang@loongson.cn, hejinyang@loongson.cn Subject: Re: [PATCH] linux: Change syscall return value to long int Message-ID: References: <20221129031659.2263453-1-lixing@loongson.cn> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20221129031659.2263453-1-lixing@loongson.cn> X-ClientProxiedBy: SA0PR11CA0027.namprd11.prod.outlook.com (2603:10b6:806:d3::32) To DB9PR08MB7179.eurprd08.prod.outlook.com (2603:10a6:10:2cc::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR08MB7179:EE_|DB9PR08MB9657:EE_ X-MS-Office365-Filtering-Correlation-Id: e0558c49-5fd6-4486-0005-08dad1e780d1 NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gJ52drt32mEc5HDjQtDy45S75UZRDbffDvOLR3QQ0RL+Kf+GJtNR9+XYZ8uYFnVCB7MK0S6+fwc+vONp8NDXmYOpOmPVWSiDNdg1NJVS2KN8r6WXcVCuLyqQFG5tekM1DkSdmNNXHWK4PxgR96mJe2p13+3f2fnbJCDztsLbPDELKiskLGtpYhOpnqS6YFmpziOIis12HtIpbVF8QS7r42T/cUng+6BJb+REYUj8/4gpbi+BxS+DslXZX8j31g3T4xEF4zQKDcLgucTG4R8mKWBPp/rVNb+DxLNKH7uUU929P7jQW6VXDsI0GJ1YUMl/EByFUhFH2HPC2c+dZ9/sd1deNc3Gn8e3NpuBF4ocVs8DsEi5q351eW59ev8cRRmUzSGxtK85QJZRuvUYrIPideBg6UgnnJ5u8aNNZ+x2dDGwyMCZ2B1elaN3UjanmaDpYUDiC2v+cRxmuwY4ixIMNpC27l/Pdu0l//47U4ovVGhIwRb++9zYCSQRK7lmu92JQfexUS7LYBKWZxDvEaiHFJw9gPWNUy1n7vm2KPS9i82nFvYRrlHHYIHI/C1kjTLbjm/lyKecX8cc9Bp6li8x+ogCYwhVN94KbfBHrQepWL2CtAWgFNhshZ/jEzZGpL8kuGkv8I8efL7tnax3fSE0dg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7179.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(366004)(39860400002)(376002)(346002)(136003)(451199015)(6512007)(36756003)(86362001)(6506007)(6486002)(6666004)(8936002)(6916009)(478600001)(66476007)(44832011)(2906002)(5660300002)(2616005)(41300700001)(4326008)(316002)(66946007)(8676002)(66556008)(38100700002)(186003)(26005)(83380400001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NnhwMUUyZWRwd2N4a1NjWWUyczFIOUxGWXZBcGduc09oZ0hHR0gvRHRHR0ZJ?= =?utf-8?B?NDdieHV0ZU9YMjNlZi9DSURjNGFqN3owUVR6dGZraVBVU3hpeGRiZ215dm5W?= =?utf-8?B?c2dsbzQ4QVlndm4vM2ZLNUNyanBxYTNWTUFrMGRiSjRVZmNQSmMybnFDcFVv?= =?utf-8?B?RlUxcEhHQlZ5b3RTQjhnVG84TXNHeXFlRWdIZGxNVHpSZ0liYmEwYjF6OVpK?= =?utf-8?B?VW5tZ1VmU2N4YmQ1cEQ0TEhpOElzUFlpZjhzckdjckIzbVQ2ZWkwRUtyYTVF?= =?utf-8?B?Uk5GdjAvNWRmUEhNbGk1MVc1ZnRRd3RuSlhweVhDNFBwUjUvNjltWVEwbm1y?= =?utf-8?B?YkN4d29oNCszQzBheWxRQzNlQXRUNkZwV000Nnl4bHNyR3FocENNQ1JzTWRU?= =?utf-8?B?TVNvWjR6dkUwbmFJMmNTKzRmMUVheVRxZ2JMcWJGTGxCNTdYVkYvNVFwM243?= =?utf-8?B?QXpDbFM2NTZnWmcreSt3Tk5qMUxLaUxoYXhFTE1FRFhydnRSVndvMmxpT0Zn?= =?utf-8?B?K0lZTjQ4WnNBcTBSajJXdWQvUUxraDhUMnZMeS9EUEpjR2llamZmNTNvZExt?= =?utf-8?B?QnJqdGl1blorYzdpTEMyUUFMTjFVQ3drMFRVL0gwbWdjdEYzVXFodnNTSUpM?= =?utf-8?B?MG9lYzIwdXplVWZkZFZERTBUTDhTWGtjejVhU1FvRXhDQ3hYeTJYZ2pRYm5v?= =?utf-8?B?MG4zNzBMcEgxSnQ0dkZqazJLak4xdWxEc1ZSZ1prSUJsOWk5M1Q0YWpuaVdz?= =?utf-8?B?NUhEaDhybVNHcjErSmdkdExwTkRWTk9YTTR3eHkxQnYycFNVZkU3RG1OQ1h1?= =?utf-8?B?TXk4QklpZmg2TU1FcVp0NzRmU1ZJOE0yWldZeGkxY2hKeUxPQ0pvQTkyTlRD?= =?utf-8?B?OStQU0Z3NDUwcVFLeXZ1THlldXhHVE5zTWgrbHpwRUVUZ040YjN4NHBRKy9y?= =?utf-8?B?RWd0Y2ZlVkxJdGxsd2VZbHFzaUxvTm1DUGNIV3NoOXQrRkhSdzN5T1liYllx?= =?utf-8?B?WnNkcTBSbHFLdnpyeWpqZkk0LzJmQUpLU1ZaUkRyT2RlaWlKUWx5MU80d3pr?= =?utf-8?B?clg0WmFsQStJTXR2bHB5UmRacVpYN1FUZ05mbjRQM2VpbG1TbTIyWEt6RFBI?= =?utf-8?B?V2pKYkZnV2M0Rzk1R1l5eXZOSzVCK1R4YTJqY1BTenNRWlNpbFZwRFFBbHNu?= =?utf-8?B?Y2V5aThaV3dFemtZbnp3OC9tTklBU3hnMjFpL2I1ZDdIWjd4NTYwRnlDTmhz?= =?utf-8?B?MUMvNGtXb0dzM25oQmoxU0xlb01CRnU4WmVDZHgvU053Wk0xTW94YkloYTJZ?= =?utf-8?B?cEZlNzBvdXZDTFZhTGVtWUpQQVNiRk9DNnJtdWJ3MVJNZzNHTTI1MGEyUlRL?= =?utf-8?B?SGpTNi9NTGtySUJ3bHpSOTIyL1NwbzdON2liMzRReEV3YmpYUjhTSzF4b1pi?= =?utf-8?B?OHZkN3d4S044YVl1RDNpVWIyRTcwUU93MkJjVzNFalUybkhadWxVL0J5TDlH?= =?utf-8?B?c2Nxc0tzZWNHWkJSeWlFNC9oN2VsVEhVbUh2SFBuR0I4YkdSRlp4NFFheXhR?= =?utf-8?B?cmRycmdBUDdrekJtVUtkcGJ4dDc0MjkvbG5uRHhZYXpleFlpMlZ4TVozMzFP?= =?utf-8?B?Zy8zUDVzeEFhTGh0V1M1VktWWFB4VlN6RUd2YThUUy9QSHVCU1ZGRTM3TFF4?= =?utf-8?B?RkVkclZUbWtEbXFDVGRPOHVqcmlzMUhZRVoxQklhbU5aM3VNSlBoTVVnQTFw?= =?utf-8?B?ajg3OWJtMzVMcXJObEJCVC9WMGI1dVVLTmJ2VUlta21rUEEvUmtlMzk4dmND?= =?utf-8?B?N2kxUFZjM1dpMG1MU2haY0RSd2kydzZwak04TnB6blZUZWhVL1hlS0tON1lh?= =?utf-8?B?UkYxYW5EbjVGUFlrcTVCVjB5ekZnMmtoWUNWQklneWo2MEVOaC9yQ2FSZytK?= =?utf-8?B?OXM4bVpyU1l5RTdnb3pDajFlZTFEejZlQUFpMFZtK0M3S0w4NVNWeldGVk90?= =?utf-8?B?SDRQWnVFdFAveTMramZDaEUzdjVUL1VvQkV2TGNEbVhPZFMzdGZQN3h6dm9j?= =?utf-8?B?aXdSNXFQN2p0WVVBYlhXZFc4Q1djVWdmS29zUmdCSkJMT0RqWVB2NXJsOHRM?= =?utf-8?Q?gpC3ep2h5Bq1tqfHs/TlcL8gq?= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: e0558c49-5fd6-4486-0005-08dad1e780d1 X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB7179.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2022 08:55:45.7197 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 34Yn6qZbvR2CrEb+/nvwA2ZypdsXJckenE40z42GiXo1uBfL8krf2v4+b4d6e/siXm4qSzTgU84yXEhh5mxEFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9657 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Szabolcs Nagy via Libc-alpha Reply-To: Szabolcs Nagy Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" The 11/29/2022 11:16, XingLi wrote: > From: Xing Li > > The kernel syscall return is long value. > The generic syscall interface return value > is int, which may lead to incorrect return value. it's not clear what you mean here, the generic syscall function returns long (according to unistd.h). > > The following test is syscall with mmap executed on LoongArch, > only 32bits and sign extension value returned leading to mmap failure, > which should be with 47bits address returned. > > Testcase: > > #include > #include > #include > > void main() > { > long int ret; > ret = syscall(SYS_mmap, NULL, 0x801000, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); Note: there are many reasons why direct calls to syscall may not work. syscall is a variadic argument function that takes long arguments, but you pass ints that may *not* be sign/zero extended on the caller site so e.g. the top 32bits of size and offset can be arbitrary on a 64bit system. (you have to cast args to long to make the example valid). and some systems use SYS_mmap2. > printf("map address is %lx\n",ret); > } > > Result: > [lixing@Sunhaiyong test]$ ./mmap > map address is fffffffff008c000 > --- > sysdeps/unix/sysv/linux/syscall.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sysdeps/unix/sysv/linux/syscall.c b/sysdeps/unix/sysv/linux/syscall.c > index 7303ba7188..8cb0b66b1c 100644 > --- a/sysdeps/unix/sysv/linux/syscall.c > +++ b/sysdeps/unix/sysv/linux/syscall.c > @@ -33,7 +33,7 @@ syscall (long int number, ...) > long int a5 = va_arg (args, long int); > va_end (args); > > - int r = INTERNAL_SYSCALL_NCS_CALL (number, a0, a1, a2, a3, a4, a5); > + long int r = INTERNAL_SYSCALL_NCS_CALL (number, a0, a1, a2, a3, a4, a5); > if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (r))) this change looks reasonable to me. > { > __set_errno (-r); > -- > 2.31.1 >