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 45597C64EC7 for ; Tue, 28 Feb 2023 18:05:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8F3ED6B0071; Tue, 28 Feb 2023 13:05:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 87CFB6B0073; Tue, 28 Feb 2023 13:05:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6F6786B0074; Tue, 28 Feb 2023 13:05:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 5BFD16B0071 for ; Tue, 28 Feb 2023 13:05:05 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 14E3C120B64 for ; Tue, 28 Feb 2023 18:05:05 +0000 (UTC) X-FDA: 80517476970.20.FCEDC5C Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf28.hostedemail.com (Postfix) with ESMTP id 4CBCAC0011 for ; Tue, 28 Feb 2023 18:05:02 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=EuHDnDxA; spf=pass (imf28.hostedemail.com: domain of surenb@google.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677607502; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=rpV99OKSTpIRzIpX89x9E7KBkQmTINaa7AEfKXJe4DE=; b=njmhu57vvJMAV7tm+NA5ej4ZH5kmjsdLj/WueJKZMkoIEwULR2rno+TazdOJLAZn4vZjs5 p0vDyU7EKSA42YEx+42EP7vrptsb6K3eRV3oj75eODaDDTtO8kkmbaNRt3T9+Q6h7AivQs 5nZS8e1Aq/X70YYhSz5ecyJpU/OJD6s= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=EuHDnDxA; spf=pass (imf28.hostedemail.com: domain of surenb@google.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677607502; a=rsa-sha256; cv=none; b=G5F12Y8b3cU6vqwfPtrOX+UJNSKSISF1lgR6pAHMJjuf4qZ1TWNXeOe6Ul6v2ML3n+CVPg sfNnzto8cD/D3W9tkBJ3vTkn8bIdKbz6RziQ6IroEZIRyKZdjbXXJXr7dc9ItxL31q9VI7 MH6InF1YmmmKNwuIxHNPWUEuIhsXfWA= Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-536af432ee5so298399117b3.0 for ; Tue, 28 Feb 2023 10:05:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=rpV99OKSTpIRzIpX89x9E7KBkQmTINaa7AEfKXJe4DE=; b=EuHDnDxAN39r4+yOuGdRF5UMA037GmTcY1WDH060nxXx4LzWSy+M3htrEsuL5FcfAz Rj6frPsLMdQF2246BJygq37UEUu30Bh6j8KXwoxqTeJkhOkibLzoBVk8hLxSDFroydUV kB061OnkFleByRyVQsg2kT7f6oVYGCMz1z9ePbHTaK7OT3eR/40qdzY9nKUbCtArHKRB gYOboQcc/ha0yIwiaAtYcssiaDzaqUgEVyfSBj15mv0ztWy6iGA/bRtTK0V0Z8v7f/1+ vItc3NKAhWbIgRcLaDON1SGxs2vX7qpEAROD8bw4VcjuEpu4Cm2H+ejVd/efGQXNhSUV sgsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rpV99OKSTpIRzIpX89x9E7KBkQmTINaa7AEfKXJe4DE=; b=ADqHk0QkIOGcH2olP+DTWkkeWEE/ak04DAim7gAo64aWyawkVrlsdC3WQAxzJfkrCq L11agIyUbxSN+ykQgkAeUoLqc6TcBVoDDLQ9XWarTPS3dBSvcLl8160tcYAAHTRFLcNG 12ZZzu5vLzWT49on5oW+gMwhWAFeUSD1+EcYEOTN53ZqR0tUVix5K+cz6lYaPJNtVZVi AuDLjS36CSM6GohGcksS5myegVGPAt5wsNDipV3V9uvEEJxEk1JmU51s5MeyMYSfJNBR 2b8zRQbBhP3Gbtx6iYWM2HiwX/WkBCoEykGHeA+hjd4i++JA0pnmItm+3jcjx7mGohVl Aw1w== X-Gm-Message-State: AO0yUKXMQ8ksOUfmlLnCBPnDG+HYNzzpPXugJmtDZSfhyFJOGHgxcl+e Lwh7r+emC22CNXjI51P9S4NLLMwRQGodv8ig9J3oAw== X-Google-Smtp-Source: AK7set+9MztI9r7zEzAu1vny2Hg5q1wq3BcKzf3IYbntzcbRXNrbfMh8bwEdnJMVwNIM6qCS4Nmr3QMhP+bkyI9Bdfg= X-Received: by 2002:a81:ad03:0:b0:530:bbd3:798b with SMTP id l3-20020a81ad03000000b00530bbd3798bmr2233090ywh.0.1677607500530; Tue, 28 Feb 2023 10:05:00 -0800 (PST) MIME-Version: 1.0 References: <202302281802.J93Nma7q-lkp@intel.com> In-Reply-To: <202302281802.J93Nma7q-lkp@intel.com> From: Suren Baghdasaryan Date: Tue, 28 Feb 2023 10:04:49 -0800 Message-ID: Subject: Re: [ammarfaizi2-block:akpm/mm/mm-unstable 82/99] mm/mmap.c:516 vma_prepare() error: we previously assumed 'vp->vma' could be null (see line 505) To: Dan Carpenter Cc: oe-kbuild@lists.linux.dev, lkp@intel.com, oe-kbuild-all@lists.linux.dev, Ammar Faizi , "GNU/Weeb Mailing List" , Andrew Morton , Linux Memory Management List Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 4CBCAC0011 X-Stat-Signature: opd1mcxfq87ttrufediefrr7uuew9gud X-Rspam-User: X-HE-Tag: 1677607502-462552 X-HE-Meta: U2FsdGVkX19CNxdtvd9GwrxN+UhrjG1zFFmX/LToVkLuljzMiuvt7IVoir8DVwPvpW9dt3VcMsJBEqul3P3LOVQagOSLwWl0ksPAgXL/ULc+cO7Sy3boQ9JyeEha31832n1YpdHX6MEcvLkbiM6aYWMhZLREe3L5IHYMqoBdvZd7pndCm7RWrHtomMLDPcqk7V0kTHfUPcBLZgJPKz72oDgMfDKwa3nkAVHUWFlw2V7J+b8eSVrxoraNt3WdazKAWHSygnSMJ67Fu121Ih6k/AHNJft6QnIp6lnUyVV0+jstRffXrqEQtRga27KBgdRwgGPRNNFNhVWET5mdz1JXIO88dKM70pEZbYtKAyJEmQuz1fGCrMhMQDfJYSNLsGmGRsY++Vlt7kMD5hyilcj+39ofqpPeKIIWiZuvthJN30x604b9A6qbSmbzgx4FRbWPckdJbdgEk6DmWWSqrmfNqkRTo4fvr9uoGGWXbi4FNsuh/j5yekC3K3s/4S75QKfrNxpwFFU9bpyvZH8WX9K8mMIxt6r7HHjImFTWvoDJO7PbQr+irHJd8GoHRiwuGzbGFUsVSRoVP6rf9wEPhReTGMDtVL5P0tWoqsOZgATPe0ya+TMgZ6JgYlVzeSOtmXbVKOFkW4Tgv3n8uGUZK3x1p8pac7fXWhI5cFpLEyn+Jx9soqOw5CIIzsakip8ClaP/clvAh7bzh5PtJIIdevgOA8NFKbWt8JVOKFURVicZVgwVDZlp0AJrne7V84g0u+iz5itjI2oV2agWfMrySsOaRBGk3Jd7Xo/UbM/PoM7ZLA4i8VSKEhU4oP84zv87LY6Z4i4szAyAChdMvZHZPj9LoJLG/Lt2z+yfxwMPPIgF28M97ilOes2ZVyWDnER9rJdgxyg4ERjSKydNoPTUY+ud8hmtCqNu+xwsTGldIjL4ZuXycKYPxUfYx9bV4r6vvJX2U8pcmTqFuOhd7S08fx6 mw569GlV rU98i1uHeoaBbSnqlYcPneWoaZn4XPMReP4AgPb096dVcTWVifrvsCMResbs12qBn6b29PPFsdA9czpT3rRFqDvlP7AkwihPeA5EB5IS2AbvErO8sFIKLxvFBMFo9xHk8TESlL71G26czb3hQ+1dHT0m7Bd8yrXDvSvQ+1TKq1n9+K3U7vLVyt6LgwiEk3IdDLfMRgtSWb9g0mf8LGUuZL9lTBccr2blZl6H2WdIjzhRwDuYOKSgD1xq75XVWS5fb6JmCULJJhHc+g+eMQ06tZ6LixGuqyPZFM/AqS/wsUo8zyRw6iIloDPyaRLHHb92B789Ml11gRZYtov/31UkBOTtQL7iAj0Dq5Witxmb/e7WUdZXUI1u/1nO72VcEYKEyz0zH9ui+lYY45ZrO1OIBpdgBf/tD9oX3vhj3eVOc8KzPyRIPNcE0LY1zYzR3gwd/MV/azN6F9czZuGNmAxQaIMKv1EAH7MUY6K4g 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 Tue, Feb 28, 2023 at 6:24 AM Dan Carpenter wrote: > > tree: https://github.com/ammarfaizi2/linux-block akpm/mm/mm-unstable > head: 61edd3b68c3185673c9b05dfe48038692964c73b > commit: f517f7ae341d933856cdf4d9d773027681ed5dff [82/99] mm/mmap: write-lock VMAs in vma_prepare before modifying them > config: i386-randconfig-m021 (https://download.01.org/0day-ci/archive/20230228/202302281802.J93Nma7q-lkp@intel.com/config) > compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot > | Reported-by: Dan Carpenter > | Link: https://lore.kernel.org/r/202302281802.J93Nma7q-lkp@intel.com/ Thanks for reporting! > > smatch warnings: > mm/mmap.c:516 vma_prepare() error: we previously assumed 'vp->vma' could be null (see line 505) > > vim +516 mm/mmap.c > > 440703e082b9c7 Liam R. Howlett 2023-01-20 503 static inline void vma_prepare(struct vma_prepare *vp) > 440703e082b9c7 Liam R. Howlett 2023-01-20 504 { > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 @505 if (vp->vma) > > Check presumes that vp->vma can be NULL. On my other system (with > yesterday's linux-next code) vp->vma can never be NULL. I think the check here is not needed since vp->vma should always be non-NULL. I'll double-check and will remove it if that is confirmed. Thanks, Suren. > > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 506 vma_start_write(vp->vma); > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 507 if (vp->adj_next) > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 508 vma_start_write(vp->adj_next); > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 509 /* vp->insert is always a newly created VMA, no need for locking */ > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 510 if (vp->remove) > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 511 vma_start_write(vp->remove); > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 512 if (vp->remove2) > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 513 vma_start_write(vp->remove2); > f517f7ae341d93 Suren Baghdasaryan 2023-02-27 514 > 440703e082b9c7 Liam R. Howlett 2023-01-20 515 if (vp->file) { > 440703e082b9c7 Liam R. Howlett 2023-01-20 @516 uprobe_munmap(vp->vma, vp->vma->vm_start, vp->vma->vm_end); > ^^^^^^^ > Uncheck dereference. > > 440703e082b9c7 Liam R. Howlett 2023-01-20 517 > 440703e082b9c7 Liam R. Howlett 2023-01-20 518 if (vp->adj_next) > 440703e082b9c7 Liam R. Howlett 2023-01-20 519 uprobe_munmap(vp->adj_next, vp->adj_next->vm_start, > 440703e082b9c7 Liam R. Howlett 2023-01-20 520 vp->adj_next->vm_end); > 440703e082b9c7 Liam R. Howlett 2023-01-20 521 > 440703e082b9c7 Liam R. Howlett 2023-01-20 522 i_mmap_lock_write(vp->mapping); > 440703e082b9c7 Liam R. Howlett 2023-01-20 523 if (vp->insert && vp->insert->vm_file) { > 440703e082b9c7 Liam R. Howlett 2023-01-20 524 /* > 440703e082b9c7 Liam R. Howlett 2023-01-20 525 * Put into interval tree now, so instantiated pages > 440703e082b9c7 Liam R. Howlett 2023-01-20 526 * are visible to arm/parisc __flush_dcache_page > 440703e082b9c7 Liam R. Howlett 2023-01-20 527 * throughout; but we cannot insert into address > 440703e082b9c7 Liam R. Howlett 2023-01-20 528 * space until vma start or end is updated. > 440703e082b9c7 Liam R. Howlett 2023-01-20 529 */ > 440703e082b9c7 Liam R. Howlett 2023-01-20 530 __vma_link_file(vp->insert, > 440703e082b9c7 Liam R. Howlett 2023-01-20 531 vp->insert->vm_file->f_mapping); > 440703e082b9c7 Liam R. Howlett 2023-01-20 532 } > 440703e082b9c7 Liam R. Howlett 2023-01-20 533 } > 440703e082b9c7 Liam R. Howlett 2023-01-20 534 > 440703e082b9c7 Liam R. Howlett 2023-01-20 535 if (vp->anon_vma) { > 440703e082b9c7 Liam R. Howlett 2023-01-20 536 anon_vma_lock_write(vp->anon_vma); > 440703e082b9c7 Liam R. Howlett 2023-01-20 537 anon_vma_interval_tree_pre_update_vma(vp->vma); > > More unchecked dereferences. > > 440703e082b9c7 Liam R. Howlett 2023-01-20 538 if (vp->adj_next) > 440703e082b9c7 Liam R. Howlett 2023-01-20 539 anon_vma_interval_tree_pre_update_vma(vp->adj_next); > 440703e082b9c7 Liam R. Howlett 2023-01-20 540 } > 440703e082b9c7 Liam R. Howlett 2023-01-20 541 > 440703e082b9c7 Liam R. Howlett 2023-01-20 542 if (vp->file) { > 440703e082b9c7 Liam R. Howlett 2023-01-20 543 flush_dcache_mmap_lock(vp->mapping); > 440703e082b9c7 Liam R. Howlett 2023-01-20 544 vma_interval_tree_remove(vp->vma, &vp->mapping->i_mmap); > 440703e082b9c7 Liam R. Howlett 2023-01-20 545 if (vp->adj_next) > 440703e082b9c7 Liam R. Howlett 2023-01-20 546 vma_interval_tree_remove(vp->adj_next, > 440703e082b9c7 Liam R. Howlett 2023-01-20 547 &vp->mapping->i_mmap); > 440703e082b9c7 Liam R. Howlett 2023-01-20 548 } > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests >