From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4AA3C6FD1F for ; Wed, 22 Mar 2023 08:54:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D1D246B0075; Wed, 22 Mar 2023 04:54:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CCD3E6B0078; Wed, 22 Mar 2023 04:54:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B95376B007B; Wed, 22 Mar 2023 04:54:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A71746B0075 for ; Wed, 22 Mar 2023 04:54:23 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 724A91C3A50 for ; Wed, 22 Mar 2023 08:54:23 +0000 (UTC) X-FDA: 80595922806.10.A24754E Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf25.hostedemail.com (Postfix) with ESMTP id 4D941A000C for ; Wed, 22 Mar 2023 08:54:21 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="UKJtOgT/"; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf25.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679475261; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=IApH7V/JlJdEuuLgSYXZarTqHccnCAL1QO8ubX/jbCQ=; b=POmAohMxrlrqTMxa6D+rFNCeDbe8D6ht6AJ+hGr71AcVz0lQsGOGWpsX5labJREG3tnMHp uNeJy1ivDnUZQYbopBLswnP1lVAgRZEROsrv8nUgqKn1XL+9tpUUC6YCRvzkDQE5CiBZXn iOvCjSmn+/b8FsrC3wpRZqE6de0xPWQ= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="UKJtOgT/"; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf25.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679475261; a=rsa-sha256; cv=none; b=RNARDLW1tEyn2DnPHWwt5UEcoiP3knNnOETr7x8yXZNZvCzCxyZDIbelfU9VjKmzMaip1H fazCWno1PSyqlENVzwBywUl5OpU9sugOTdGt/vnPMw3nTgs5ZMWVXOOraz2E8+R75ylEo8 5IfB3CTCp977GHHzfjQshQc9zueSe/U= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679475260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IApH7V/JlJdEuuLgSYXZarTqHccnCAL1QO8ubX/jbCQ=; b=UKJtOgT//zyuo8XxHBT/53jU6wsZHDWY5f4R0kU75Sn2xDRP9wj4S+n5rt8zB8GSP62Qop GvmZCyz6JtJatGulKJsWelXLVOLC85lDHmD7Gu4OQHNDZgLsjR9jZfXZ80XF/3MMT4/Csq S3Eyxewqi3P3huNRa8ao0gtwbuSA304= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-150-Mdk6cmjDMfm20fdSSrxW_w-1; Wed, 22 Mar 2023 04:54:19 -0400 X-MC-Unique: Mdk6cmjDMfm20fdSSrxW_w-1 Received: by mail-wm1-f72.google.com with SMTP id ay37-20020a05600c1e2500b003ee69edec16so275666wmb.5 for ; Wed, 22 Mar 2023 01:54:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679475258; h=content-transfer-encoding:in-reply-to:organization:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=IApH7V/JlJdEuuLgSYXZarTqHccnCAL1QO8ubX/jbCQ=; b=rkPt58lbuurO62xJIJT/NKy/dpLtH+qxT3yRwkj0bbaOnzMWC0PiOBQpYeyzytaq7A h90wd0y9VpTpLnh4CkpZWXTgJ9RWAE9NDmSIPbkrH/cq7861LWEJGiuBHxGFRRDkeN8U kjd8nNal5SolJn0kVUbc2s+EMcRube+9H4S0uMn2WvL7tpVV2kBOdG7rBlamyVXoD36r i7j2zlxJXhcKLhldQYR55yIj8HFNxsqg4iXyPrbgZcURBEYaX4OP4GRG+prWk3IiNLo6 x9VvsK1rqXK5l8vEc+odi7x+7DkJmOgCT2enkNAuL7dNOqnPyA2xuvv5JiZUdEeitMvH nYZg== X-Gm-Message-State: AO0yUKUm7koLuRcRGK1eFOVvBswurtlOTGoiQTYCcyr/y2VO1MhYRScZ po8GCPrjK7tqJWycvWU74WXLUhIoHxAzcGQTW+1ERB0+eB4WUq7mNeDI6+8aClyCFaHCJFo2I+2 +8H5VO+SJUJI= X-Received: by 2002:a05:600c:228d:b0:3ed:a07b:c591 with SMTP id 13-20020a05600c228d00b003eda07bc591mr4743844wmf.1.1679475258040; Wed, 22 Mar 2023 01:54:18 -0700 (PDT) X-Google-Smtp-Source: AK7set95drn2g5O/s1b42KEdPz4+LCYpJnJgOQFnwZgakJtZnoU5K1hIa8lWzMnEXqhx3uG3aCNH1g== X-Received: by 2002:a05:600c:228d:b0:3ed:a07b:c591 with SMTP id 13-20020a05600c228d00b003eda07bc591mr4743830wmf.1.1679475257723; Wed, 22 Mar 2023 01:54:17 -0700 (PDT) Received: from ?IPV6:2003:cb:c703:d00:ca74:d9ea:11e0:dfb? (p200300cbc7030d00ca74d9ea11e00dfb.dip0.t-ipconnect.de. [2003:cb:c703:d00:ca74:d9ea:11e0:dfb]) by smtp.gmail.com with ESMTPSA id p20-20020a05600c469400b003ee2a0d49dbsm5197275wmo.25.2023.03.22.01.54.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Mar 2023 01:54:17 -0700 (PDT) Message-ID: <9583bc53-716d-f2ff-38e7-1dda7e57dd5d@redhat.com> Date: Wed, 22 Mar 2023 09:54:16 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH v4 1/4] mm/mlock: return EINVAL if len overflows for mlock/munlock To: mawupeng , akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, kuleshovmail@gmail.com, aneesh.kumar@linux.ibm.com References: <20230320024739.224850-1-mawupeng1@huawei.com> <20230320024739.224850-2-mawupeng1@huawei.com> <27b9cb5b-0118-f989-80c2-6a143a4232af@redhat.com> <3ef9520c-6713-527a-0214-ac7a8bb2d49c@huawei.com> <6dd844f7-d43b-c744-f295-9f14c68d3928@redhat.com> <8be13253-b4ca-b134-3e85-b4097484bb29@huawei.com> From: David Hildenbrand Organization: Red Hat In-Reply-To: <8be13253-b4ca-b134-3e85-b4097484bb29@huawei.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 4D941A000C X-Stat-Signature: eacd9bfhuqfeei95a351s1w4moee4k8w X-HE-Tag: 1679475261-361079 X-HE-Meta: U2FsdGVkX18kdQflDKp8vJHixdP1veoyVqO/XS3/V9k1dmpUK54vJcJnDvJYqrl0CefPExOOMwTnrYUstzk0ocxfV6fpPAorzlnRtGzUh7U23ND9XwPbaOzlyTnpWlogZ5YklwHoSOme36xkMRNwh1jIjdWoq56gUC1q7GZU+PGL9L8x+2PkHCM77rqIResR0Thgo5PVDxDjVeybXQM+DD1H9bixvZwMF5QA/DJxjqadXQpsAjzcGs12Rg835ZLRzgKIrM5aXLC2hWrIhLZTl0nLoIMoRSE8GpCZzFWE1QL7zZNtRO7Nlof0A5RHYLm0CjAWCm2fLpaIlCmvK2bNdJniemYw4C8phwvlXae5mw2pi9TQS42GYlCDr/y5C1Un1hdfhDrMJuiZevRGJhRy690fncm7DfssCy5bZd+PRfHA8nHA1DzL4Fnj4+VZrSL8kwRaSXsPnmN91GC/ne03dW8O7hxV40TBLAexizg6W4OUzGRa8mLopN5kIasaT7oMyDV3EVcCpeHeBceUDQKE1v2DUCTyVqfj490jvA6l0+ESfbZnkhti8v1htskCFo5C5vA2fmMKq1HSmPlWO57mh7OPRmnXmsiXXUF1VJ0zZuMpuZqoewWzAjkpS0BKd2OZavIz6gTCtZKeS6hbgjPjmhvWYnflxNLtKbdlVivilWL20ZRvHbaMY7fqGKZXBp5DehBkWODISQhGBj89wVUruLKt3UlKmdgWQhN1CT2InjY7mIL+dQ1dd0Tkgr0dFX1W9EpEz86tdW3mMk0rxlVjk04UIZFCCCBs3Ahs7R67HHle5qt5k6dpefAfD7JF5jQ2KSYd/u4kygCmz214qG9TEs7x/tRrTmY61y3+ojrJFDE1aUQ1R2rc/Hp7B8Et1uck8wxZiE47X83GU0tk7OpJyBC8lDq/kSGdi56xFq9YalKzU5su2I4VbYxaZqzxYtAnOjg9MQe1T5o1mRcuil7 al8gOdGe gdMZTFvJo8DHo12TXwcov6xNnoHcLhYzJKCfyiOu0yMlUMYYziuct83ogeFmGwtmPyIMQaSoS03QpKzVMDKvCa3MlMRf3mmgaO0iNfDr0aJuRxIY5XCcHZvrxwfvyrH6XUO1IbKGC7kskrEV+U2tGPCc3zFB8nFx9pI8lRHxVSq0TmPVokqRd+ljPFSicc0xuuSgzFFKi1srPmAQM76stH3T4FZlNw3FFZywgKObL3E01CgWxFC88605x9ATJBK/KXqtaYBm7bYqM6Lzcg4Vard2lQEQg7FLaaNssIr/8r2X1Yxsqag2XvzLCNsW1IxWeNwQUs9GZPv3oI7znRQr7LW7eia+CmmghefYNW4mlpT06laU3BU39qhEDAbo6jJ0CPpq6iQ4QHLKVBlZ80uyoXiuy/RySqIRiJbhJvd7Zn2H1Puc= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 22.03.23 03:14, mawupeng wrote: > > > On 2023/3/21 22:19, David Hildenbrand wrote: >> On 21.03.23 08:44, mawupeng wrote: >>> >>> >>> On 2023/3/20 18:54, David Hildenbrand wrote: >>>> On 20.03.23 03:47, Wupeng Ma wrote: >>>>> From: Ma Wupeng >>>>> >>>>> While testing mlock, we have a problem if the len of mlock is ULONG_MAX. >>>>> The return value of mlock is zero. But nothing will be locked since the >>>>> len in do_mlock overflows to zero due to the following code in mlock: >>>>> >>>>>     len = PAGE_ALIGN(len + (offset_in_page(start))); >>>>> >>>>> The same problem happens in munlock. >>>>> >>>>> Add new check and return -EINVAL to fix this overflowing scenarios since >>>>> they are absolutely wrong. >>>> >>>> Thinking again, wouldn't we reject mlock(0, ULONG_MAX) now as well? >>> >>> mlock will return 0 if len is zero which is the same w/o this patchset. >>> Here is the calltrace if len is zero. >>> >>> mlock(len == 0) >>>     do_mlock(len == 0) >>>         if (!len) >>>             return 0 >>> >> >> I was asking about addr=0, len=ULONG_MAX. >> >> IIUC, that used to work but could now fail? I haven't played with it, though. > > Thanks for reviewing. > > Previous for add = 0 and len == ULONG_MAX, mlock will return ok(0) since len overflows to zero. > IFAICT, this is not right since mlock do noting(lock nothing) and return ok(0). > > With this patch, for the same situation, mlock can return EINVAL as expected. Quoting the man page: "EINVAL (mlock(), mlock2(), and munlock()) The result of the addition addr+len was less than addr (e.g., the addition may have resulted in an overflow)." ULONG_MAX+0 = ULONG_MAX There is no overflow expected. The proper way to implement it would be to handle that case and not fail with EINVAL. At least that would be expected when reading the man page. -- Thanks, David / dhildenb