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 7F5B4C77B7F for ; Wed, 17 May 2023 11:45:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DD8E9900004; Wed, 17 May 2023 07:45:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D88D6900003; Wed, 17 May 2023 07:45:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C50C5900004; Wed, 17 May 2023 07:45:30 -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 B2C6E900003 for ; Wed, 17 May 2023 07:45:30 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 75FD9A0554 for ; Wed, 17 May 2023 11:45:30 +0000 (UTC) X-FDA: 80799566820.20.8449D28 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by imf17.hostedemail.com (Postfix) with ESMTP id 837CC40019 for ; Wed, 17 May 2023 11:45:28 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=CcZAsAJy; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf17.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.54 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=1684323928; 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=q+Uvy0e5oogIeM3zS7muI/b0kPVVN9SzFssjJcgag2Y=; b=jsQy8LWIY/3d0/RVSoUjgJyRJNLfBPF30dJQNMw+H1j9KTM1SIoAoMHXewoiacpSRdh8QX +9B9nspWjO/YoqIZNYEer9REgzJHIU0jO/GS5TpbiPen06fVoYnOrdnKiiZZ+ZKAg0mVTU 8+z1hQbhWV/xvxFwxKINsaFSmDLSoxo= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=CcZAsAJy; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf17.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.54 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684323928; a=rsa-sha256; cv=none; b=VscmayQendVISK2f5VHqKlO6yBzOTU0YuShfBz5BWPGCqLNgDsxizowWZXI9lxShSDQvPm wUNh4nY1XHYmX4ZFEwVUVa6ClJu+z4xUB4pNlY4tRF3MBI+lOgDLqa18Xyae0+YQpUuWzi ztZhqVQMJammIlY9TMgSgTk2YCgpoaM= Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-3f42769a0c1so7034625e9.2 for ; Wed, 17 May 2023 04:45:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684323927; x=1686915927; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=q+Uvy0e5oogIeM3zS7muI/b0kPVVN9SzFssjJcgag2Y=; b=CcZAsAJyYLIxWB/z15Cn296YP0i73QEqLngaDcQg5wFDRJp7J8bIF+06JDI1JLCnIz pD3ONxKMTLWh8ZKyrWO6AjlVMQZnTUJj0rUHueQeBFz1l5LG/z7AKEGZEdzotcHytUs4 sOo2PLytdjKMX+qmIfRhEemI6CS9RLSfEk0Hw7ZHDdOrwKB/rO6G16DM2EqMOG6MLktt yQmOxnclqVnFyAmgKoEb8Di2vRkJJ0yOgnzeR8DPbiFy1UIkNRv2PJm+zLXbqaVEqfXw oJxALZaliAzdBiLtpCGYnFDWS2vjcAISb8zPIKBD25psQ9MaFtNRftecl1ecPL5vax7M GTaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684323927; x=1686915927; 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=q+Uvy0e5oogIeM3zS7muI/b0kPVVN9SzFssjJcgag2Y=; b=Z5JuwA+Aa4XgW5qIhW3QFzzvmV1WtlwIdjq2w6kuN47GTPiq2QcECq6Pwh63kKEgeU tHd4ZXFaZiOEwVYkjaWrEV9q9WUWZrV4euqq2JOrFZCm2jGQzSo46ZN3sgaW20a6lXUe aHZKqS7kJcL84IZd4WlRnNBrQzipXLEVNDmkwYedjwVHGhginTvm9ak/EPyiRZzmAotx Z2FFXjHfgK1WOKaOKb/RClKK5CRSR6Lpi/iSgUca07h1RpQ6gbEVnB3pI0J4+L+DGf0y PSvJGCA/qz/k3ER8rFHGB1V0sXVo6rT4CzZ4xECgfTkivncXZRjJKgr+cs5CwwIkmlbL qdgQ== X-Gm-Message-State: AC+VfDxGRjQpN1PjcB/tq6nNMlceEEO2+M2M4rwC/00geLGWGsdF/3Go MrI5vL9wTzSjAp1NSWBaY2F2pg== X-Google-Smtp-Source: ACHHUZ5YZ2WRZ7g+2M/Nt/rpIMgQsY94rwUJKAQ8p3PjhVLtcGTHTVXZh4mMTkXWhOX/ZZeX0Wu5iQ== X-Received: by 2002:a05:600c:2307:b0:3f4:2cf3:a542 with SMTP id 7-20020a05600c230700b003f42cf3a542mr19005842wmo.6.1684323926901; Wed, 17 May 2023 04:45:26 -0700 (PDT) Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id l5-20020a5d4105000000b00307b5376b2csm2671302wrp.90.2023.05.17.04.45.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 May 2023 04:45:25 -0700 (PDT) Date: Wed, 17 May 2023 14:45:22 +0300 From: Dan Carpenter To: lstoakes@gmail.com Cc: linux-mm@kvack.org Subject: [bug report] mm/gup: remove vmas parameter from get_user_pages_remote() Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Stat-Signature: qj497tzmbkhpho6z96fs3engw37gdcs4 X-Rspam-User: X-Rspamd-Queue-Id: 837CC40019 X-Rspamd-Server: rspam07 X-HE-Tag: 1684323928-580485 X-HE-Meta: U2FsdGVkX18/Kv2PisU30mZuOk97hNO9YRmSgifmFoHQxbrzDE8g+f9VEKgbbdllFjBt5bmZc0kHpB21zkzG9+iuID3UdyM6ZYF0e+4NDqYDS0+X7KI6oXwsumZF+XKxStAY0VuQm6N0VO4UJ4tT1QcQv6aj38NSm2bGi0Zmt4j3ZDoSIWgiin0zN02RY1+00Ivm+Rs4G7ffq0gabbwwMTvJjyiAw2udgJmCNO5D4IVN+bN6Shp4grQQFKsIZMcFQn5rkSkApUD+KLJANmGpyxL7UHCgqKWIqJAYfggavMgTYpJ02WHTX7VQjlojXLJGJljo0WFUGLXkIdFYl017I6Bz5jNMNu5soRpVCnue+szfEtmax8P0rkpaJYYXaHRBAqqNGYGYXwYOVIbB46UFjG2qcf1gpcFZ44Sl66P6HGiXUZBlsLIBwvwRekHoftOwLIO/0Z30r6o1Y3OATdYTCLTFiYAEDEOAj1rtmAQ3HaRxDgs3RQBrT0v2IE8WW04qFEpmLpyO96sPXQ+pOXcn6CqRHGt8gIo/s517UQ+aDKdZeawzRHg0nNDvW/bbSMD/ZnO+a6NVjZXJ/ixHUei7JAfhgkb5UGcDfojRwkTgNQhpj3pDMSGNPH2rnDaFhYOqA8hlf8a2+pUyf6mLc5zQPKGkk2LfUq25iVyVddCGdGSxdyZXq46KA/kdeVQ8c8k+nPek9LnIId/NYEOCI/H3gXWIEBLog8Jmr2KzQVFhsnYarQgefTgKrgmkb/P89+hwDi3hISvAO530zX2o58KFfoUpkw3vgz5qQbcuhVQeUcqR6P4jGkKQyU0XFo06xF26PIL+YpVz5XL9v8XCGOlV8tf5Xpem17gezUKq4YvkNfLocwXr3cnx6rd5RYa8TuVZTTAIDJ70KeHqs+19wXCVCXqQ92Gnrf3YByj8YClU3/QC7THGdcxA0RTBOaZRF0E3a1CR4NowhCn5B5LEo6c qTfnqZNe H6uGWXTiRiXMyO1/jNrJ/9iLUEZmhZjTKPiXNmzSZxQ9g9P5CuRpalpBhyX3UhpMo2UnsbvOlsevPU91GPh7KpWkv/QlUDQNgPdMcDzVsjLhmiA/XhOKFtAPnJuXLTKumXJ6MbF/Ot0Dw3zoZSc4GJt+e/WlX1VRYPRkj3MFH2CcBiH5NSx9g2Gd5hYzNf1LXyPtJoaNLd7bSdTT0Gq2I/Ry+2XnivJY2Ny4WU7cTa1zK8rhmWPqZzdlntE+KgldR48WRTBZ1eUS0QdyUiszzV4d33GfOGXIHIR32coovxc2bTdLYHqn6tnrmlziGhY7suDiaYM5k+rNih6mTVYKH1opEkRzHFZ4nctYI X-Bogosity: Ham, tests=bogofilter, spamicity=0.003306, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hello Lorenzo Stoakes, The patch eca1a00155df: "mm/gup: remove vmas parameter from get_user_pages_remote()" from May 14, 2023, leads to the following Smatch static checker warning: mm/memory.c:5617 __access_remote_vm() error: uninitialized symbol 'vma'. mm/memory.c 5590 int __access_remote_vm(struct mm_struct *mm, unsigned long addr, void *buf, 5591 int len, unsigned int gup_flags) 5592 { 5593 void *old_buf = buf; 5594 int write = gup_flags & FOLL_WRITE; 5595 5596 if (mmap_read_lock_killable(mm)) 5597 return 0; 5598 5599 /* ignore errors, just check how much was successfully transferred */ 5600 while (len) { 5601 int bytes, offset; 5602 void *maddr; 5603 struct vm_area_struct *vma; 5604 struct page *page = get_user_page_vma_remote(mm, addr, 5605 gup_flags, &vma); 5606 5607 if (IS_ERR_OR_NULL(page)) { If page is either an error pointer or NULL then 5608 int ret = 0; 5609 5610 #ifndef CONFIG_HAVE_IOREMAP_PROT 5611 break; 5612 #else 5613 /* 5614 * Check if this is a VM_IO | VM_PFNMAP VMA, which 5615 * we can access using slightly different code. 5616 */ --> 5617 if (!vma) that means vma is unitialized. 5618 break; 5619 if (vma->vm_ops && vma->vm_ops->access) 5620 ret = vma->vm_ops->access(vma, addr, buf, 5621 len, write); 5622 if (ret <= 0) 5623 break; 5624 bytes = ret; 5625 #endif 5626 } else { 5627 bytes = len; 5628 offset = addr & (PAGE_SIZE-1); 5629 if (bytes > PAGE_SIZE-offset) 5630 bytes = PAGE_SIZE-offset; 5631 5632 maddr = kmap(page); 5633 if (write) { 5634 copy_to_user_page(vma, page, addr, 5635 maddr + offset, buf, bytes); 5636 set_page_dirty_lock(page); 5637 } else { 5638 copy_from_user_page(vma, page, addr, 5639 buf, maddr + offset, bytes); 5640 } 5641 kunmap(page); 5642 put_page(page); 5643 } 5644 len -= bytes; 5645 buf += bytes; 5646 addr += bytes; 5647 } 5648 mmap_read_unlock(mm); 5649 5650 return buf - old_buf; 5651 } regards, dan carpenter