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 8D914C4332F for ; Wed, 14 Dec 2022 10:22:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E07718E0003; Wed, 14 Dec 2022 05:22:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DB7018E0002; Wed, 14 Dec 2022 05:22:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C57BE8E0003; Wed, 14 Dec 2022 05:22:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id B33798E0002 for ; Wed, 14 Dec 2022 05:22:46 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 78B0114085E for ; Wed, 14 Dec 2022 10:22:46 +0000 (UTC) X-FDA: 80240523132.05.8742947 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf12.hostedemail.com (Postfix) with ESMTP id 8FCBA40013 for ; Wed, 14 Dec 2022 10:22:44 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=OFMTrLbV; spf=pass (imf12.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1671013364; 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: references:dkim-signature; bh=oZg5ofo237mNt8jPqIOFvrjJ9UGaIyH2k2lFEM+AU7I=; b=6Ejj5zcuHhhQziBcBvj8s2QJnT1L8nPMAGjVe7S6B53MnMZfZm227MGFznvVlr+e28wi8c RY+3HruY2j87dLupme15d6eG30AV7UhqqjoflR86Xt92PJb6o2/v/Gf+U0M6QK8rmo0Rw4 wIGF+0SVpOuNo0HAnJ5+ewUKrU2CTpw= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=OFMTrLbV; spf=pass (imf12.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1671013364; a=rsa-sha256; cv=none; b=hTvGbp9Yb7vRnMxYeGjRkApBCburWfBWNpzITyqvf9W7rwOgRD0ewIjaD9fyMBF0GgcjP5 eqTvqt+JvAN25ZxIOQ62xflcU864kg7iFLqxPA44JAtADGjy0GHLbnJgJAL0xaEW2+HVqZ x51VJfNH91REEJMtloo87Gi7ovTl5GI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1671013363; h=from:from: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; bh=oZg5ofo237mNt8jPqIOFvrjJ9UGaIyH2k2lFEM+AU7I=; b=OFMTrLbVowogQa+A0nCiPmu9LS/9f+MQKikevNuL8OkojePmL3wqRuMrWFXfJozylJUmpm YFIld0z3dm3Ghww0FLyGoviFnJKSvjYDOur+qk8TEdMzVN83ws3rFW/RY+l9eutqAnGciK /YlATAeNI0dOntOrscB6X+Xdvn4gX50= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-240-JvvrUebdNFu9QqNnm_Mtcw-1; Wed, 14 Dec 2022 05:22:42 -0500 X-MC-Unique: JvvrUebdNFu9QqNnm_Mtcw-1 Received: by mail-wm1-f70.google.com with SMTP id m17-20020a05600c3b1100b003cf9cc47da5so6199838wms.9 for ; Wed, 14 Dec 2022 02:22:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:subject:organization:from:cc:to :content-language:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=oZg5ofo237mNt8jPqIOFvrjJ9UGaIyH2k2lFEM+AU7I=; b=Pmy0X5NMev7vyfOWtPGDbu/riLHCRC/d8qkXBynSk0NIUlwsuQ9FeL0yMY73NUNnOd mEEnTgfFZkOiI0RcNst7MIoV0YbLB4xhCA7HGnDESNeBehvzISyJtCdHafRIWSvgGUYX yf7SsaGTI7cdU2EICBWSOVe91TG9K7qg/44MwWrMRGOndz3JdDgZfvtxc/HZ30+Yl86f 8DOMcX7zxGZr7wTQ/XYkuKKdFfb2IEPlBTddT4lvIv9xA2CJFXD3oI5Std1Gl/7/ay0V WrLfpNjiiiF5blngA3owK98cFFC19pWWsKz5Oo5oSN5XB9JcjNkgDWfslcVYa7MJ87SR Nhyg== X-Gm-Message-State: ANoB5pmSWPnOwkKjS9kUYyKd5PbLI6DX15IBqZm+YCvIHDMQ5jIS+Zkz Nnfy0WYgDaHVsXVjl+/BVAIul29HokvnT3Rs8snidVI4Rxy7J/Kbn4njK5NHMH6TngzEWB46Skq ul5TuCGLOb2A= X-Received: by 2002:a5d:490d:0:b0:242:fa5:ce83 with SMTP id x13-20020a5d490d000000b002420fa5ce83mr17530653wrq.37.1671013361352; Wed, 14 Dec 2022 02:22:41 -0800 (PST) X-Google-Smtp-Source: AA0mqf6eqNaTD3L0zpw19VpnMEoi1p3BYCcKA3C58XAoVlwb8be+bNLsFo0uG8nChzy/fA/DaBgKOw== X-Received: by 2002:a5d:490d:0:b0:242:fa5:ce83 with SMTP id x13-20020a5d490d000000b002420fa5ce83mr17530636wrq.37.1671013361043; Wed, 14 Dec 2022 02:22:41 -0800 (PST) Received: from [192.168.3.108] (p5b0c668c.dip0.t-ipconnect.de. [91.12.102.140]) by smtp.gmail.com with ESMTPSA id o26-20020a5d58da000000b002420dba6447sm2442291wrf.59.2022.12.14.02.22.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 Dec 2022 02:22:40 -0800 (PST) Message-ID: Date: Wed, 14 Dec 2022 11:22:39 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 To: Hans de Goede Cc: "linux-mm@kvack.org" , Mauro Carvalho Chehab , "linux-media@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Sakari Ailus , Andy Shevchenko From: David Hildenbrand Organization: Red Hat Subject: Dubious usage of VM_SHARED in atomisp_fops.c X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 8FCBA40013 X-Stat-Signature: eexcozkkznybexsdgmxc4oghfg18kc6o X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1671013364-566094 X-HE-Meta: U2FsdGVkX1/irbP1R0WTE8VQic+Ks//J7AaQoJm7Z/dAC8DAbcvStyhPum1U+XjWk77gI1Rp6A8xc1rOmvndsNaWevZF3jbWc4H+0ljQogyus9T2ODYqjwRVfieG5kaVeVQ3i01mNodOq+YXI9Q/6Fe11CVKZ/8rQQGl1mdRlelqsXdwF2/MCX2iokxYIhsULnbU9nqHhw95Jg3D4TstBpyrvUgGlFxjKYlCJfHw6iiL+DDXdtKvStFPBPbZM5qJXy8edOgGoIksSdmmsbQy6bCoMMcyPsLTynaVEIAPAcMrYFjO/4HGp9fSPLpP8SiTR+YBRFXML/j2C9qeQHbukT+2CDwBmQljhd1n+qg9gj72lULrUB6mLRku2KGPQAUHspNS4sNJgHYvUFW+Mi9Mw7o67Me1aNSxOz/5ROGhYTjuzs24LH98s4tryQCufB4CXv+KVaav9XrVI2PrjpnNjRjv13OlYihQFvMxpDEHOBKf8f4fT+ynhg1ZLkRkfUoGRhXxuq78Mb/n1H3KDatrtiJNjvgI+sYEsxpcCcDk3m3LJKLy+3jF+vVDhHeBKcM8tdLHh0UGpR63OCWLF5s9pY7Tl9SH5kaEacSxZlpMYkhTqevhEdqhxe5rhKPxrFyoR4lJhkqjc5pRE6PyOZUXkzk3ivwALPxt9G7J2TNqjYHt5jfz+rXYy9f0zyY29r3tTuOBpBrT4x/E3PflntZmVSTtHdpR154sbDuNBbLzpmLgs+kLXHHidVseE+zQhXj7A8O/udwhAFGHSikIzVQF6MuknoiWHip2TPUdGVh7LpFMUElRzcDfr3VbG8ygCa5s62jh4jM3snpFayQ0PX/YvxxtPc2dJCkParAXN4cO0OQhgtC2iznyxlbtrObNOWCG008M7stBHjOQWSReOQvxXgG3UtcbxaCteUkYK2PBvkrDsVTWdFwIfO9YE/ffdP6mWoE3i0ialPhfLMPkohJ xU62FnFa 1idKEpH8x5s+FpZ9vnj2oUqqCvfnqS3EwlFg0SmPjat9xeMk7TOijGUm2iHwaGYXUicnwCCBZpaq6c3eusbphQoTr7owIC+mXH8iUvQxn4/U/+lhH3gDjBpa+XkzH0GweGXxRo2lhQI6og4D0ZC54d2zWM79mvld+CE6UtMvbmFRN7vN+RpcFq+vwanM2ylICZPI/6C3aEEng7ZJoWX49GbTx0X4txrdXSMDyBCtsDGNDUg0= 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: Hi, going over all VM_SHARED and VM_MAYSHARE user in the kernel, I stumbled over the following dubious code in drivers/staging/media/atomisp/pci/atomisp_fops.c: if (!(vma->vm_flags & (VM_WRITE | VM_READ))) return -EACCES; ... if (!(vma->vm_flags & VM_SHARED)) { /* Map private buffer. * Set VM_SHARED to the flags since we need * to map the buffer page by page. * Without VM_SHARED, remap_pfn_range() treats * this kind of mapping as invalid. */ vma->vm_flags |= VM_SHARED; ret = hmm_mmap(vma, vma->vm_pgoff << PAGE_SHIFT); ... } We're converting a writable MAP_PRIVATE mapping ("COW mapping") into a writable MAP_SHARED mapping, to hack around the is_cow_mapping() check in remap_pfn_range_notrack(). We're not even setting VM_MAYSHARE and turn the mapping silently into something with completely different semantics. That code has to go. One approach would be to reject such mappings (no idea if user space relies on private mappings), the other one would be to remove this driver. Judging that the driver already was marked broken in 2020 (ad85094b293e ("Revert "media: staging: atomisp: Remove driver"")), maybe it's time for the driver to go. Thoughts? -- Thanks, David / dhildenb