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 36CCEC77B6E for ; Wed, 12 Apr 2023 13:31:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 806396B0074; Wed, 12 Apr 2023 09:31:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B6B36B0075; Wed, 12 Apr 2023 09:31:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 67F1C900002; Wed, 12 Apr 2023 09:31:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 5785D6B0074 for ; Wed, 12 Apr 2023 09:31:03 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 1B82E1C3654 for ; Wed, 12 Apr 2023 13:31:03 +0000 (UTC) X-FDA: 80672824806.09.FF42399 Received: from www262.sakura.ne.jp (www262.sakura.ne.jp [202.181.97.72]) by imf30.hostedemail.com (Postfix) with ESMTP id CC2EC8001A for ; Wed, 12 Apr 2023 13:30:58 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=none; dmarc=none; spf=none (imf30.hostedemail.com: domain of penguin-kernel@I-love.SAKURA.ne.jp has no SPF policy when checking 202.181.97.72) smtp.mailfrom=penguin-kernel@I-love.SAKURA.ne.jp ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681306259; 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; bh=hXeUlWeu7JnGeta4HQk3uPmUkPZhQoAmjgM/2u+2zAE=; b=PPMennt2VqA4A+K6RQJAY3lU41RfAkmL/9fEEvwpMx6QbgmDnDUDNa2M+p8mg5jeoyg+OI bvMwAJK0YJtjsAug+cq4C9pLNOs+i/ghFEu/BQPeKTgKAS64sK5FU9V4RNImSV6IKoA/qE xETTLhAQKL8v4WjWsIR/vjusVbQgTLA= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=none; dmarc=none; spf=none (imf30.hostedemail.com: domain of penguin-kernel@I-love.SAKURA.ne.jp has no SPF policy when checking 202.181.97.72) smtp.mailfrom=penguin-kernel@I-love.SAKURA.ne.jp ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681306259; a=rsa-sha256; cv=none; b=3tz4Wj18tw1xysZ1h42GDNT9KEhCI3kI6DNrOCghuSra35H/Q0ABYki1QwQEAmIguHA1Tl cRplIb53KLKTZjPJHegL5xru8Us3oVNKa+GDAr/Ora/CEInXAnmNjjYo8qKWtRI2J8dXTw QFaXLMYPtPxk71gf2Vrn+9N6flv3FJ8= Received: from fsav413.sakura.ne.jp (fsav413.sakura.ne.jp [133.242.250.112]) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTP id 33CDTcCi076644; Wed, 12 Apr 2023 22:29:38 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Received: from www262.sakura.ne.jp (202.181.97.72) by fsav413.sakura.ne.jp (F-Secure/fsigk_smtp/550/fsav413.sakura.ne.jp); Wed, 12 Apr 2023 22:29:38 +0900 (JST) X-Virus-Status: clean(F-Secure/fsigk_smtp/550/fsav413.sakura.ne.jp) Received: from [192.168.1.6] (M106072142033.v4.enabler.ne.jp [106.72.142.33]) (authenticated bits=0) by www262.sakura.ne.jp (8.15.2/8.15.2) with ESMTPSA id 33CDTbZx076638 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Wed, 12 Apr 2023 22:29:37 +0900 (JST) (envelope-from penguin-kernel@I-love.SAKURA.ne.jp) Message-ID: <60f6bb85-825c-95e2-79b8-25a2d0e9979e@I-love.SAKURA.ne.jp> Date: Wed, 12 Apr 2023 22:29:37 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH] fs/ntfs3: disable page fault during ntfs_fiemap() Content-Language: en-US To: Matthew Wilcox Cc: syzbot , ntfs3@lists.linux.dev, syzkaller-bugs@googlegroups.com, Konstantin Komarov , Hillf Danton , linux-fsdevel , linux-mm , trix@redhat.com, ndesaulniers@google.com, nathan@kernel.org References: <000000000000e2102c05eeaf9113@google.com> <00000000000031b80705ef5d33d1@google.com> From: Tetsuo Handa In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: CC2EC8001A X-Stat-Signature: hxwpimdowik9cm3kmxm9mf95cp5zs16k X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1681306258-996099 X-HE-Meta: U2FsdGVkX1+fEIVJ38fWJi7vDBYCFD5ujFxcblDOZXD/NIiwWEvWPEGl4mDU0nVqG7yxIkS4iKgsab/aYr80b+5eZ8A4l8iYpGTuujox7xaDtvZtNkHrq8BXOtMS9p2sN8C7RPebFxw9Hp6iTqdH9V/z7JGii2PUPgjCSPL6JHmx3fw5tQsjykuw6jYCqjMTL24oOJ/Ri86i11v3ROOqWejWlKs8oZI92intHnhxvI3JtmpxvOuOAiG9I9+dnCCdtqiJYnRBkZr7cMsMTa0nUTG0eXsd7eLUiP9XvN/G6VFIRJFHLpcibBg+ICfjK3R+fwDOwR7mlqgLuTpx9VufLF7QM08tCzA32eC5YnFTsWQzjYci24vOGJPv5GS3kElllhwudhovNjgHjCn3g+68KT3/b6CX469FEA8HU6Nkm/Ec2/y23Nu6JrsgXZlbaN/NM8RoKXfDsM6aU1fl2qTrtPl1Mi6C5p6TXYTCAGLBxAGOtf8sxskOuCX8VJCMs9SiL0ddyngeME95wkqkAL9Mar3LiaZqV4O2yaGi/Eb71WH93Qzr7yrpfU9gCsXS4haNtQ2yXCh91YEZxf62s794l+Wfbbp+iGyEI51MMhe/gVkr8DQwHaiRhXXRwUzbwaJiwMegrUgpNc84l8URlmeGStXqAsoXLT9eG7KMsJQXeCEH+Obbc2sbriqqZRSGFdKh57INa4Aq0oCCJTlkb9eOkvQLKbWuY3sT7e4CfYcDA61bUj0r48k8MMfqp3aXVxy0PmQ/cBvHM70oMw4D4m/GiXEp8pDlCIghoutZ3HRlRcyFGqXCNBjpkuvQJrKqV2N8B+GYKVfchHUKhA0LtCaosYMX+RzxpfinDz+amel3r+Tcli4MMJY/O6i8rFJShhCATJBJ7A/LJ5j1DEp3vhn7CJNjFo5GsAlgDvNpsSXc7M/H3hApPCgwij6NKKlo7m7+sNohqaEg4vAtfDTNrNf uQr3Sk84 WsrWVGAg/g4uX9K4+3jP0U3TS8TyCxEEnAc/AAZVK+dYRW3ji5PdRLFL6QoAPH3RHuBc2pxein/Y1uK0r6JY+hU17uVWfuJA9Igfo3Y2RbV/eEw0WggXMuk30X6r6nJmXInqkJbFcvA/YJ/SbYVBP3uiBaCfsqjPVcycjp0nVpdv61km2KC8fRrfbMsS3ZwB/x5jq6oeqPmYpAvxTI5SLP9WKfPEJGLIGd1NTpeodiyQd+hf/aORizNcFWzkad20xfT38XJ8llQzNZspj1FzqV3wpwo2myLEfy7zNepX/ve5M9GCaxOOhlOXIQWYqjEr5ByXSJXoLI+uO/juCI+AYS9LKOnZZtu6r45lxvF/r3eYxwswxl80V96nR9S05FGieksJH 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 2023/04/12 22:13, Matthew Wilcox wrote: >> Also, since Documentation/filesystems/fiemap.rst says that "If an error >> is encountered while copying the extent to user memory, -EFAULT will be >> returned.", I assume that ioctl(FS_IOC_FIEMAP) users can handle -EFAULT >> error. > > What? No, that doesn't mean "You can return -EFAULT because random luck". > That means "If you pass it an invalid address, you'll get -EFAULT back". > > NACK. Then, why does fiemap.rst say "If an error is encountered" rather than "If an invalid address is passed" ? Does the definition of -EFAULT limited to "the caller does not have permission to access this address" ? ---------- int fiemap_fill_next_extent(struct fiemap_extent_info *fieinfo, u64 logical, u64 phys, u64 len, u32 flags) { struct fiemap_extent extent; struct fiemap_extent __user *dest = fieinfo->fi_extents_start; /* only count the extents */ if (fieinfo->fi_extents_max == 0) { fieinfo->fi_extents_mapped++; return (flags & FIEMAP_EXTENT_LAST) ? 1 : 0; } if (fieinfo->fi_extents_mapped >= fieinfo->fi_extents_max) return 1; if (flags & SET_UNKNOWN_FLAGS) flags |= FIEMAP_EXTENT_UNKNOWN; if (flags & SET_NO_UNMOUNTED_IO_FLAGS) flags |= FIEMAP_EXTENT_ENCODED; if (flags & SET_NOT_ALIGNED_FLAGS) flags |= FIEMAP_EXTENT_NOT_ALIGNED; memset(&extent, 0, sizeof(extent)); extent.fe_logical = logical; extent.fe_physical = phys; extent.fe_length = len; extent.fe_flags = flags; dest += fieinfo->fi_extents_mapped; if (copy_to_user(dest, &extent, sizeof(extent))) return -EFAULT; fieinfo->fi_extents_mapped++; if (fieinfo->fi_extents_mapped == fieinfo->fi_extents_max) return 1; return (flags & FIEMAP_EXTENT_LAST) ? 1 : 0; } ---------- If copy_to_user() must not fail other than "the caller does not have permission to access this address", what should we do for now? Just remove ntfs_fiemap() and return -EOPNOTSUPP ?