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 17258C001B2 for ; Wed, 14 Dec 2022 11:08:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9290A8E0005; Wed, 14 Dec 2022 06:08:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8D9298E0002; Wed, 14 Dec 2022 06:08:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 77A868E0005; Wed, 14 Dec 2022 06:08:45 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 655498E0002 for ; Wed, 14 Dec 2022 06:08:45 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 2560A1A0E7B for ; Wed, 14 Dec 2022 11:08:45 +0000 (UTC) X-FDA: 80240639010.13.FE9F771 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf18.hostedemail.com (Postfix) with ESMTP id 1522A1C0014 for ; Wed, 14 Dec 2022 11:08:42 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=apULYgXW; spf=pass (imf18.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=1671016123; a=rsa-sha256; cv=none; b=8VPNjhLXYsTnylvnGO3nWatP6xwMIeWWyv56yv6ZoUhZxg/aitXq3y2PBCMjXk33ftEn+l exzfc6kxMgsOHctaESvs2YFHMea8y1wja5ovNk8b6p5HQ9KHq8cwj9Fth/dp3GNNPeFCeY sWZNy10CxytwGmUVzbk/lx96wKhH7/Q= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=apULYgXW; spf=pass (imf18.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=1671016123; 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:dkim-signature; bh=mRg78ZkhOQVpDZ+QaAFV8935UrX4bn0uxcF9aGCrixQ=; b=pC/J7P4r8IqJAswlwrNbHGEPr+7vW/uDHHHH3odIjrZgDKt7HiybA03afKn/xbgkyufjeT jEdz81zeVSzC54t9aeKMOMXs92Ds0L6Ez0B83xfCBSSgS2dCDKltgEBi0XHcpN7v3IJg44 tSSMo3YY2MpYsQscYcsBsFKtEeDouPg= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1671016122; 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: in-reply-to:in-reply-to:references:references; bh=mRg78ZkhOQVpDZ+QaAFV8935UrX4bn0uxcF9aGCrixQ=; b=apULYgXWyZ9qKk/SyH9Sf5i64X6aP8M0gWCs5vgkeUwhRUkcuzJ3HwF9IPGGgdIPLK6SvB r2cdb5SuCv+2DbuKI6nj+C6XUe11SoCEerpGVXNRP5ivoHFfiEqBV9i4ebf1+p25EDwVmC TCD8G/7lJBG/q7wmf2ErWIBuX44UwGI= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-612-vNPC7V7rPDyLnMMd4foVgg-1; Wed, 14 Dec 2022 06:08:41 -0500 X-MC-Unique: vNPC7V7rPDyLnMMd4foVgg-1 Received: by mail-wm1-f71.google.com with SMTP id bg25-20020a05600c3c9900b003cf3ed7e27bso6263836wmb.4 for ; Wed, 14 Dec 2022 03:08:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mRg78ZkhOQVpDZ+QaAFV8935UrX4bn0uxcF9aGCrixQ=; b=GIAp09dyCa7Pa/E2fSn7dcQhx0LDdl11s0OCJIlnrvJinW5u2n/fZNJXZpWCkfakOc o1nBFeQL828wCzhOKE2fIvMB6Uibtnll29YNmpK6W4/wRzbVBjZmCk6pis059KsFwijB p/2XRTHwB2iHkpnUPgksdiH54EYAecWMA45gH/7Fqrirt5u6WnzLPlg81CXRTyjxniUq oS38C6q7oypIxTRYLFN1rH28J7jDBL1QgXonoFs51xUMBNDIgFcEgNEqLt54u68eviQt EuJjQFAdbh0420NSoJ1Wh0wQVJtF7rMfRgQDWFWfT4QfkVVC+Ox/qqzNInTQIqY+v5LF P5fw== X-Gm-Message-State: ANoB5pk1HOsM+8Z+BHnteNle93IpOL2maMXkJjqwkojEZZya2NghPL/5 zXrUSsDdlbcAnb6dDI7E5mFsGSdtA3MbEPr87/GVZ3uNAyZEYhMXU4CtTwQML2p1Ex+DsnNWgAJ GT0OdQhzoGwc= X-Received: by 2002:a5d:5c07:0:b0:242:3cb6:36b8 with SMTP id cc7-20020a5d5c07000000b002423cb636b8mr16926028wrb.44.1671016119847; Wed, 14 Dec 2022 03:08:39 -0800 (PST) X-Google-Smtp-Source: AA0mqf7YaluWfcNEp1VN5Y2E817u3e6PoWeueB6XHpyPeLl4uSHVpqKkrOM9cLd6B29BFrCorjwjTQ== X-Received: by 2002:a5d:5c07:0:b0:242:3cb6:36b8 with SMTP id cc7-20020a5d5c07000000b002423cb636b8mr16926016wrb.44.1671016119585; Wed, 14 Dec 2022 03:08:39 -0800 (PST) Received: from ?IPV6:2003:cb:c703:7700:dd7c:92f8:481f:b96b? (p200300cbc7037700dd7c92f8481fb96b.dip0.t-ipconnect.de. [2003:cb:c703:7700:dd7c:92f8:481f:b96b]) by smtp.gmail.com with ESMTPSA id z13-20020a5d44cd000000b0023c8026841csm2586564wrr.23.2022.12.14.03.08.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 14 Dec 2022 03:08:39 -0800 (PST) Message-ID: Date: Wed, 14 Dec 2022 12:08:38 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: Re: Dubious usage of VM_SHARED in atomisp_fops.c 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 References: From: David Hildenbrand Organization: Red Hat In-Reply-To: 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: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 1522A1C0014 X-Rspamd-Server: rspam01 X-Stat-Signature: 9785erj43uxb984m8k6p8xhyymtyf5c7 X-HE-Tag: 1671016122-541584 X-HE-Meta: U2FsdGVkX1+Evnig1zzsS+mKmbzdLOJhbFSDYctBHu84WGTQA0Kql9SKLLqMUJvQP448H4ZlQKTAs1zos1fZBnBzn21r8vfPisT+H586zxYREJgh4EEWIEntVR1Y0aEyzuL1pP6GjggiAwaUYsUTPGbArpJ7Hth/gNzqIFVRmIhwVFDmIsi9uk+/k0ZMfPfiu3ZFTZzHRlkO+KgLMZg8GQheIBAvbuCi3pu3WRYtbVrCibnZLM+3bWY/UFqJQz2bDZIEPCA1ozxV8BBsX8KpFUEu8pMQpFYnXELNaVa92aejlZQVD1eEtULDnzxEvC4BXoyYnTdbdt1DK9glsP51peledPMqk5zBtny+y9Z3+Z5tGTzTp2X0fdO9cURu9NGx5C8hP1f4oipltSAw3GzUdk1woe5+weLvPLhvpesx2NYRXi3nQJtnK4TRPP86+eVGoUPimBl1zDe3KFJ04G5h6eZHu5iuqloycGi1V5GjPmSwVUaEmWfBvDQzOzR2ft6n3vweMyw9rS59YKvVNXq8F8zMPbSJP50DzTOSNvlgY/Z8GMnsxOVCk/VI7kNjQ6yJbu3UAidB+jH7heGEwq7qXqUC12mZZSVPsPuUVAIoNHjsO/kI8n+zvW8Jg1SMhtnVN1LTKJ6fCIDbF1QS5Bx94abKWjZeW/d+H1zv+/yRa4H4DhrfBSFV81kIADjypxEXQrCHqL49tm3XG8xWRO9a5nAXuMhngL8QmQlKRCLa0Mg4BPbql4fiTiH6GypDH2bhncwgqR1orvpfbHhkvwQqdezMmlmsJqMQPVftfjkCqt947bcA4rB5tt+hiyWsRLKjc7zSF8Z3vrjhmjIpo8o8YRO+ofuK1NxVyUnrhXm0RfsPTKFgFzM7cxi4dgKnAetUy0XiUMuQaM6itJ/59NTGXmkuJk2VNuRlff78nx7i3km4ii+DNuibvlmWkX+WbCN2COZ/0TjGJQ0ZnK/Yn7K 0n3NUBNf W1gF7T1dVLNDUu1rxXXa8Ma+g9MMmKoKKG3BVGOqHqnn5hDsNhdDMCBKff7CyMck80YVEW84PZMVmchGVffdw+fhIqhaL1v767WdVEzpt0t1w1mbwSfFVGDIGv5gx7oPyH3TjNDXjmKs3ZLAptpRi9EEdoOpIkMoBOm/HDy3pDbE3Kv+efrqjt+xmjLKjJFoMzrsrO26oUi7VYWcUKkBwtcnPFKxf4K08wafW9oE/GN1KXeo= 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 14.12.22 12:07, Hans de Goede wrote: > Hi David, > > On 12/14/22 11:22, David Hildenbrand wrote: >> 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. > > There is still quite a lot of hw out there (and being used > with Linux) which has camera sensors connected to the atomisp2. > > Recently a community member finally managed to actually make > the driver work and I have been working on cleaning it up since. > > For 6.2 I set of patches converting the driver to the videobuf2 > framework will land and as part of that all the problematic code > you point to above has been removed. > > If you grep for VM_SHARED under drivers/staging/media/atomisp > in linux-next you will find no hits :) Hurray, thanks Hans :) -- Thanks, David / dhildenb