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 86808EB64DD for ; Tue, 11 Jul 2023 07:26:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 024918E0001; Tue, 11 Jul 2023 03:26:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EEEC28D0001; Tue, 11 Jul 2023 03:26:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D8F2E8E0001; Tue, 11 Jul 2023 03:26:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id C6F338D0001 for ; Tue, 11 Jul 2023 03:26:02 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7BD78AF93E for ; Tue, 11 Jul 2023 07:26:02 +0000 (UTC) X-FDA: 80998496964.09.8FECCBB Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by imf15.hostedemail.com (Postfix) with ESMTP id A8708A0016 for ; Tue, 11 Jul 2023 07:26:00 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=PI969vPw; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf15.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.48 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689060360; 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: references:dkim-signature; bh=Xj5u3S5eBu7iI1f+qc0DXchKPSLN8iPxWGcTOrmhJRA=; b=W/YL6M74kHKr5NgsHWFl3bVRt1Yy+ZZzAUqqpqqDcmzj9deNJnF6xvCkf/Von7lyThYl3F 9bfm0mvvlJZs1ansLuqQ82GQXgrUe0eme7XuPXA6haINp8qz3HYSeFYgrwVYQOlxx+JOjJ wlBu8ZQr49oWQEpEb2rimHj6prEqqTg= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=PI969vPw; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf15.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.48 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689060360; a=rsa-sha256; cv=none; b=z8xjFOtIgvvZyGPh1cAOS/SoNO9/p6I5qb+L7998mT+hcFBcFlIVo4Om4mWjXRXg3Zv87R 4bSkzPLo3mRDo+ipjFrO4m9SLe/aLotLiCJOzjPDsuEN+Rim7Vi0N00xk4wyD/amqhVtau ZX78TjC1+oj6UlFSWJsERlk6UCjNMaY= Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-3fb4146e8deso67093615e9.0 for ; Tue, 11 Jul 2023 00:26:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1689060359; x=1691652359; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=Xj5u3S5eBu7iI1f+qc0DXchKPSLN8iPxWGcTOrmhJRA=; b=PI969vPwxw66jnbcnF8ghCQLioNGsLip0VLMOKfXXboPvjw8O7Zl7DFEJu1zxkFU4m bgYaSKVWDo+gAD065IM60oT4brIPnHAP9N+5zKrUvyk+RQ5Y++3RD/u9B7BWUZC5IJKq /KCaS191XWkxkmIaopIrP+hRZBfLR2OnJxaAHuS13YZIevvURhD8LPSVJN/HSxMJ2c5U StWI0+oIx6FH6LKqfiTFzTRwAJBlKpFF8dnZF3kFbcEMfQwyAe3YnMNt8kAM4BSGjd6P BGxxIse230nGs3+NOW8EzI65YvkyVVHNJMCIttCkd0811Raq50rtbc3xIy/PvpZIlNQR T2ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689060359; x=1691652359; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Xj5u3S5eBu7iI1f+qc0DXchKPSLN8iPxWGcTOrmhJRA=; b=Zq87YT1goNZyqhCLiJZttqUo/744bb4tGE52OR+YXAybBVSw79oOROBGaMJJvbOhAk VV2zOutxM83/I2IP2dYBER26vBM3Ms6iBX5Dtcf7miJWfe+XI/ktwYAdzgYMGHGmWZf5 AiZKvOw61+VOBF0GOyYl6VzdY2qnBLsBxZLSjQDmd3xXle0SVQN4BPWkUiphbZhX/mQM yhXFl+42tX2yHsE/FAkd3xDSyaiNIjCnmdWRlXm3nt518r4GdP5XZ8QNZzorOxlB1FiZ kTkADVhjvw8DBU+KBZoqfzRkcZtroT9xiz+6G6lLADVAsOAxOE3fVnQXqpNjHajM04qy QIlA== X-Gm-Message-State: ABy/qLaPjJCG0YNtBHN/y5cJ3mxDtnwpoE1pjBbLCISa4ozalId+h+X+ pZ8JyzLfodZVyMc8rHZ8UTjIucaFlxYQyAgymEQ= X-Google-Smtp-Source: APBJJlEc+vCQkSCHEdqWEDjeBhGAsKB4yw+sVoC8UHI+zWJza86ONh39/W4xsQQnnv4Y2ZCqH58y/Q== X-Received: by 2002:a1c:ed15:0:b0:3fb:df34:1766 with SMTP id l21-20020a1ced15000000b003fbdf341766mr19219072wmh.1.1689060359312; Tue, 11 Jul 2023 00:25:59 -0700 (PDT) Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id c26-20020a7bc01a000000b003f7f475c3bcsm21694177wmb.1.2023.07.11.00.25.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jul 2023 00:25:58 -0700 (PDT) Date: Tue, 11 Jul 2023 10:25:53 +0300 From: Dan Carpenter To: hughd@google.com Cc: linux-mm@kvack.org Subject: [bug report] mm/pgtable: allow pte_offset_map[_lock]() to fail Message-ID: <3ac58297-c3b4-4ef3-9743-d96a477ac53c@moroto.mountain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Queue-Id: A8708A0016 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: xuging6ysu5tnt9695eeoydahys6rjn6 X-HE-Tag: 1689060360-733041 X-HE-Meta: U2FsdGVkX1/nhfulCaONlFcm6hoG9iiw+iyvuh20eNyYL79pSS1xjfv9EIaHG8jEUMxkSOwR8g+aHiCrlN9qy4ajHMx8lQ9rPqWbhCihi85yRimIJc/fwMyHYyScwmJ4g0oeh1t2f/B83FmSb/dW2wB8OX+KbA+blH0rYgRMe+fv3tNv7mxhBCMJr6kT98pfNsg1pQJ/KXZCVKjh3FiD9Yc7FXflxsXoI9L941uEtoH3gX5Yp4zbLX0re9izhe2atNnfIXcNg965phE5iJVsL3UXkKM9JRLYmHXOhtnl9SRvGeGd7tYiKBv0aRsqKu2zxe/oWoAwLbQh0nwq2k4rp13OmWh3tCfNukVaVfkx1X+tPlXQzbdf3WA3lvz/vIkFSvFO2C3RryTnMu2np7ec6A60i457am3y+dNUxAEHQLVqwtaTt64Ynr24CJLrfyL02p/T2gWEjckB9oTCHO1VTsQk1ivGeOc9XM+SGqqEkq+IPF7/ZhiWQDF4a7UqYokEWz9X/MFH1R0ybu6n+7Zkm0Y5iaxS1ti1rLj+sjwHgrk9axdORG6nL/Ejbr4m51NswcGA/JYcG2XuDuTDn6W2uh8lBOkex+Pkwh1OY5BKUEh8vNa/6AZzYY0KIAMiKxFtfVcFCFJvVvvEQPI0krGlkBACtpNkYnjHSAT0qCeTmmPMfdkAxFaxkWGfSwpzQKhB2aj5llLar9GK1cqiYjeOhcJlv7GhPVnRb4Yn+RugDSIk38WQKXJgtIede+L5TrwxBfXY23rL9LmG1qAIhJqv4FDOplkLxKvXSIADipzNcEr+ZxxRs9gaCZQevQRN9BprlBbFtT3jZ7wEW7djUrMr2b3muMe8Qv9/1cLFD9Sv5Z7cueNs88Pqum12e/Q/eTZYhhjp7gvWMdIolXptjtyo9QYZjkhPeSsedv/ZKD3o92gHM3TTsRTYXdJXYeiucq9CTJTZvnGm2bTk9kdoEH1 JCvUt4bn cj9PEgHTa+lXDINi1wdLPdGvCD7ZS9BKZeKScxsOwiuafY4jAE4WwqyHyUC0smkd9izUs0bPcSgzPOowEksJSOpldAA6qLLdBH/l56JwpNmzS5LP+Y8w8tCfu9J9ASWnebHoOtMxsUbY+4ACW+kgPO5pUjGB/EdIl8WIDi7Xa/E4xYUc9cA1zm+C8NbnhGk00zgV9MdSRnwaOQZePlSB7lTVrD6kfPM6c8BkeRgESnYVqSRFhDggT3pu8VVIcKWz7/Oose9qwdy4kNop2hwrN6xvSsUMgNK5y3XbAU/gJGx2Z+avZ+vIURNZXviRlawGmrgXVct5OH46mzIzcb12hNnJn0iCDKhINYUHK 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: Hello Hugh Dickins, The patch 0d940a9b270b: "mm/pgtable: allow pte_offset_map[_lock]() to fail" from Jun 8, 2023, leads to the following Smatch static checker warning: mm/userfaultfd.c:321 mfill_atomic_pte_poison() error: uninitialized symbol 'ptl'. mm/userfaultfd.c 292 static int mfill_atomic_pte_poison(pmd_t *dst_pmd, 293 struct vm_area_struct *dst_vma, 294 unsigned long dst_addr, 295 uffd_flags_t flags) 296 { 297 int ret; 298 struct mm_struct *dst_mm = dst_vma->vm_mm; 299 pte_t _dst_pte, *dst_pte; 300 spinlock_t *ptl; 301 302 _dst_pte = make_pte_marker(PTE_MARKER_POISONED); 303 dst_pte = pte_offset_map_lock(dst_mm, dst_pmd, dst_addr, &ptl); ^^^^ The __pte_offset_map_lock() function does not initialize ptl if it returns NULL. 304 305 if (mfill_file_over_size(dst_vma, dst_addr)) { 306 ret = -EFAULT; 307 goto out_unlock; 308 } 309 310 ret = -EEXIST; 311 /* Refuse to overwrite any PTE, even a PTE marker (e.g. UFFD WP). */ 312 if (!pte_none(*dst_pte)) 313 goto out_unlock; 314 315 set_pte_at(dst_mm, dst_addr, dst_pte, _dst_pte); 316 317 /* No need to invalidate - it was non-present before */ 318 update_mmu_cache(dst_vma, dst_addr, dst_pte); 319 ret = 0; 320 out_unlock: --> 321 pte_unmap_unlock(dst_pte, ptl); 322 return ret; 323 } regards, dan carpenter