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 5E4A8CF8853 for ; Fri, 4 Oct 2024 17:40:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A803F6B00C7; Fri, 4 Oct 2024 13:40:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9DF816B028F; Fri, 4 Oct 2024 13:40:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 80B036B0290; Fri, 4 Oct 2024 13:40:51 -0400 (EDT) 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 59FBA6B00C7 for ; Fri, 4 Oct 2024 13:40:51 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id D3069AD139 for ; Fri, 4 Oct 2024 17:40:50 +0000 (UTC) X-FDA: 82636635060.19.4DBBF61 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) by imf09.hostedemail.com (Postfix) with ESMTP id 1B398140008 for ; Fri, 4 Oct 2024 17:40:47 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=iiitd.ac.in header.s=google header.b=CjlT9nHg; dmarc=none; spf=pass (imf09.hostedemail.com: domain of manas18244@iiitd.ac.in designates 209.85.215.180 as permitted sender) smtp.mailfrom=manas18244@iiitd.ac.in ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728063504; 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=Gipk7tZ2gHWfXWt09uDNRITU//gp2sMa6qCxHdj3Mzc=; b=T4O4KyxsQo6eEwU8AIU1k21+YVLaq153+VWDJLV4wvGUUA1LdQPv+ihW/QpXFfbXVTJN7t MDOUYuAPp1vdY0At1c3XwHDGD7afMOa/rwQ5fu6WXLDQT5Hmn3pnhX2kv6NQCA5j4TrPpp Cw3Sq6SB/jElbImPzH3KT9foQuNqlLA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728063504; a=rsa-sha256; cv=none; b=1Bwzho45Tt3JkGmmPBc1caLfdNAd9ouwbB0wvrXcbHIsr3cDuwiqp/LIAvPfDG0u8j+Z/C zmMjS98S3MNeNk6Rs4tO6xbPKqQ2PZ0AFwIJfeBUhg3HzdqCh/BrgKqovSuhDpEwEGC8kf KprjFgcwcs5Eom5AuZEkkBcxXbUFZpM= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=iiitd.ac.in header.s=google header.b=CjlT9nHg; dmarc=none; spf=pass (imf09.hostedemail.com: domain of manas18244@iiitd.ac.in designates 209.85.215.180 as permitted sender) smtp.mailfrom=manas18244@iiitd.ac.in Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-7e6ed072cdaso1522501a12.0 for ; Fri, 04 Oct 2024 10:40:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iiitd.ac.in; s=google; t=1728063646; x=1728668446; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Gipk7tZ2gHWfXWt09uDNRITU//gp2sMa6qCxHdj3Mzc=; b=CjlT9nHgEiDoUbENlr7NmP+3SGu9N92Zi3LMNxxdBXBpwCJPxtUXz4y/dy1s06+02O KV6PxZBEKg3/I+JO9JXU8VeyTP/Qjo41KI9BZkRc5Odpp3TBb6pIO/gsKVheo8OwfACh RdRNY0PrNOIZObqPrS9CE2mPJA1B4Psmx3Eu0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728063646; x=1728668446; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Gipk7tZ2gHWfXWt09uDNRITU//gp2sMa6qCxHdj3Mzc=; b=eN1+UZsQxRdqFKBMVcxvcXhsb88IRM24qsRvexB5BKw/PDz4zPUGGpvFAGkYgyFjaT zx/0aIgRni8cikQ0flFSZxTQQerfS7YSAYucLqJMg3/8OMYZIs64/PLjqPtWn9UPNMCM kIT4Ghq604eA7gEtSfuok94jpCIuGozZINXEvmrnnrgErAenzZHo9xdH6q3s/UbQVVcx WPNd5kSLgZTWkNq/VUoD8l+wJE/qwVaSE/u3DqHzNAknSlv1myuNI1r5dhHOsn7p3QVS vRLdbX0L++24SVvCdjPAI/E3Vgu8Nzz+TDei5LFhKYk9g85V5ESfyVl6j5eaEThZv2u2 Y/tg== X-Forwarded-Encrypted: i=1; AJvYcCXeLUIXP1W4UpuV5ItwB5SuPOKZ23vSktAluhNXxbX9Lqg3ASJO/9WS1bYtO9XohwpaMBYVBHWYbw==@kvack.org X-Gm-Message-State: AOJu0Ywxu5dChW+QhpeaUS3d8EnZT7t6tSo5R/RKhdMH/1K15cgH47aF 8NtYszRVMNSBYavrkLUuK55K4qh0rY5amjR7JdQt9rasaolmcwcUwP37Tcbyxqc= X-Google-Smtp-Source: AGHT+IGgamVQRcGOh/R/rIbHRa9Yfyqlrpw7tGzWKPgyIC71DXw8qw9b3gT+FD5JEJTsgWDm/bo/HQ== X-Received: by 2002:a05:6a20:d492:b0:1d2:f124:a1cb with SMTP id adf61e73a8af0-1d6dfa27999mr5401546637.9.1728063646247; Fri, 04 Oct 2024 10:40:46 -0700 (PDT) Received: from fedora ([103.3.204.140]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-71df0cd5006sm123518b3a.77.2024.10.04.10.40.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Oct 2024 10:40:45 -0700 (PDT) Date: Fri, 4 Oct 2024 23:10:37 +0530 From: Manas To: Matthew Wilcox Cc: Andrew Morton , Peter Xu , Shuah Khan , Anup Sharma , linux-mm@kvack.org, linux-kernel@vger.kernel.org, syzbot+093d096417e7038a689b@syzkaller.appspotmail.com Subject: Re: [PATCH v3] Fixes: null pointer dereference in pfnmap_lockdep_assert Message-ID: References: <20241004-fix-null-deref-v3-1-f9459b1cc95f@iiitd.ac.in> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 1B398140008 X-Stat-Signature: wjoxqus4tn7e7wrz5grnrwjtnex57ns5 X-Rspam-User: X-HE-Tag: 1728063647-621449 X-HE-Meta: U2FsdGVkX18HZfmD/SqOFwIq/6wBhZwf2os0cF89xjjxEp9WabDM9GvzIVEQPLG1cO+l890TGFx/uYSWCgzYHych/bkUMRis1spNr5BcHTg0kai5CJGhGkMY8dABRxFt6dGzJQ2WGvpMYTHNb56IM7dTxhzQ7BUZJvacRlIX9dnXRVyifvT5RPaogOhGsSH//f2P3x7D+8t0Z54XBcvc041oLQCHwPsoW5hx+cLT7fbiQm8AjdGbBiJJM1wGW1Xe6iSUyWZZa0Od9edjwoCIDtaNT2RnV3sVJQaNMBEHFlhY/+/y1QwuoK5DiMpaquodD6C01hQH4qxrBi9Cjrxdlu3ojQYGHlMvOrf/9lXP1peeya95mRcgEZf50jHNnLGpkITlN5yzP7XJhAV/4AAtFZAm2p1S97CQfNu5211HSEZ3qF5goE1iktvF1gkab6++ZBneifQRKV5XuFYT+poSNFd4j2enlyRWF1pcjCH/wJDRRbzO2oPSZm+9/Wpt3lof/d5E+yuRunBW1KuqqXZLwAzY2FiV76ChTrjEAc88Xpo4VIGaEm5sRJ3Xf9pMGjARBPcfTU/SamZqvpUnFnPtRwHPNHHvIcSWpjkXjcdvhr1X0nhU7f6JGwquNMzyWJfxgHSNi22OfVP76KdkKrlQ+/2YpJzmLmU5554CTJyrzLl2/hzXoht4TGXBfIfEwaThpxGr9uQwKmHLEg5PQNdpAXFo3EltrJd8mR9Ae2TnglyNXUP2a18PkeYHPnrwOTnQe8sIN4dDAw2XHYHTF+gTzimyG0eTtvTLvkxi4CAbXruQHPEKjSwZRPefKzdZ+v6gzxAKpJeqJS/YmWIpA/EWAeNdW5DrypS0nBFjl2560EiwI4H2itmUFVdRQfktCUQa+oAPpQgYUGntpJZGQlLE5wpvTfTpLRgmjl+d0YxixKpgxH/Tvn59MwtE2kJ3RlwU4lVWpaB1lKzfbJiJBV5 RByXXUL4 yMf8yq59NAnj4ejCwipAgqbB49aCS4cXKIFs4ObQ8LM1C999/r6MKj6ahKpMROyJcB+o03JzqCjoVMQrPWiyokSl8APiGyFqcaaRn5XpItqVr6SdY6yRfXkrk4He9qMiQEnJ1YL9YNQdqvbBXJ2fiOML7NbFHxsIrqjQmLUXWGFKXRAiYAjqTF5LSfo+5mJZdwnVBvuSoXjB5weudcR3SeKYnh/dSqyINwgZlUlTQtvaOYWpS+ByO6lffRLQ0WFV4sZxfVLhmXlp8NTcJZuSq40/ou2vMJfrpo/k16RG19F/+6lcWKzNnF+9wsXdf79Yk6NMqKpZiNv8ZFNSkOSig6xUUfcPf4ENI1cPR3kJqGIQjvjYX9aD6CxeAEAKoP8slJrHWWDrL61uQsJG+Oyz/5GN1IwBjvAk8hqWZlOInHOsXqNi0SDJwLJIFnZ5b4Fe9Z8fxaG5zINOcAMe+PhbQxFkSZ4k4AfMOi4TYPmMcyiAsbhYxIWRKoRHMpQKD6FiAJzUpV/AiJ26KnwI= 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: List-Subscribe: List-Unsubscribe: Hi Matthew, On 04.10.2024 16:17, Matthew Wilcox wrote: >On Fri, Oct 04, 2024 at 07:15:48PM +0530, Manas via B4 Relay wrote: >> +++ b/mm/memory.c >> @@ -6346,10 +6346,10 @@ static inline void pfnmap_args_setup(struct follow_pfnmap_args *args, >> static inline void pfnmap_lockdep_assert(struct vm_area_struct *vma) >> { >> #ifdef CONFIG_LOCKDEP >> - struct address_space *mapping = vma->vm_file->f_mapping; >> + struct address_space *mapping = vma->vm_file ? vma->vm_file->f_mapping : NULL; > >Overly long and complex line. Much simpler to write: > > struct address_space *mapping = NULL; > > if (vma->vm_file) > mapping = vma->vm_file->f_mapping; > Thank you for reviewing! I am sending v4. >> if (mapping) >> - lockdep_assert(lockdep_is_held(&vma->vm_file->f_mapping->i_mmap_rwsem) || >> + lockdep_assert(lockdep_is_held(&mapping->i_mmap_rwsem) || >> lockdep_is_held(&vma->vm_mm->mmap_lock)); >> else >> lockdep_assert(lockdep_is_held(&vma->vm_mm->mmap_lock)); > >This one should have been lockdep_assert_held(&vma->vm_mm->mmap_lock). > >I'm not sure that the previous one is correct. The >lockdep_assert_held() macro is pretty careful about checking >LOCK_STATE_NOT_HELD to avoid the LOCK_STATE_UNKNOWN possibility. >But I'll leave that for Peter to fix. -- Manas