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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A5CA9C77B73 for ; Mon, 22 May 2023 20:44:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jhmJKsx6a+k3pDxU8pW8sCEU0tBX/eQFkKfUlDfJ0KA=; b=YRsUPEGCvoFBPL WXcGutDbwto6xV5ncHccpsIWL3WKUf4kSl9Nd9qeVb4uM03MbJytcN6DzS/wBVilstye3R3v2dMug sMaIfZ3TKnAJuFy7gGZ7tLNEIu5SES824LqLQK0ZAz1Lfw+htxy1RsUUjePav/Txe+NieEZpPzhQP W0iO3YgNlMtZTgNkjqTSoYUJXXMOJktBCQ8go8QwlG2xf9IaNII2cBXlWxdvT6V+pFA4L2YPI7tcj eNQicqldTAjyv1EqhSwguZz1M5dIyRh+kH5OGn3/bK/txUn9VLNWLT+Dja6KTa6EoAWSd+eCadJ4j uUXBxf53NvH5d0m9GxGQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q1CO0-007xBh-2j; Mon, 22 May 2023 20:44:08 +0000 Received: from galois.linutronix.de ([2a0a:51c0:0:12e:550::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q1CNy-007xAh-1U for linux-arm-kernel@lists.infradead.org; Mon, 22 May 2023 20:44:07 +0000 From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1684788245; 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: in-reply-to:in-reply-to:references:references; bh=5CheqHqGD8hj2bnx2bKxcYyD7u5BAQXGkRrtmFKHHi4=; b=yK5fQmVrzEDaXhT93Qf4Mm2jnmRPRi0hSmTtTYaWhrLTnv8FI40NOGeZxLd62gAIbT7Guu qnLseWFuapN847+LQmTP6+bW+ESqx7VFks33ZyXEy1WJMuUj8Jh7Z6B1zHWSGxkqDzz+MS f1COxoI1Yj0vANltXR+3/KfqOAibaAlFd2bmj2B9TeKAmrl1MsoiBrL0Q9hX8ILa8g9R4M BYeWIrNh1Hu6iXNsKFTCjDYNJc6RpdxsYzsH9B0ASnqCQrbmTdh9/EIkcziAAqLNUwdmbk fRju9IUxuSwO4TKHDO+a9YjnyzAh4LVE1YxhYp+nFG3zxMrb5tib7zx8/ikD3w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1684788245; 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: in-reply-to:in-reply-to:references:references; bh=5CheqHqGD8hj2bnx2bKxcYyD7u5BAQXGkRrtmFKHHi4=; b=fG5JmkThTeqb/Htc/fp8E3LLyPiEboaxnOLZWTDA+xSSZVh2JwDP9DDvwR0pHLW1iklYN4 EWPH2XwqVAtDSQDA== To: Baoquan He Cc: "Russell King (Oracle)" , Andrew Morton , linux-mm@kvack.org, Christoph Hellwig , Uladzislau Rezki , Lorenzo Stoakes , Peter Zijlstra , John Ogness , linux-arm-kernel@lists.infradead.org, Mark Rutland , Marc Zyngier , x86@kernel.org, Nadav Amit Subject: Re: [RFC PATCH 3/3] mm/vmalloc.c: change _vm_unmap_aliases() to do purge firstly In-Reply-To: <87h6s4w20b.ffs@tglx> References: <874joc8x7d.ffs@tglx> <87r0rg73wp.ffs@tglx> <87edng6qu8.ffs@tglx> <87cz2w415t.ffs@tglx> <87jzx1xou9.ffs@tglx> <87wn10wp45.ffs@tglx> <87h6s4w20b.ffs@tglx> Date: Mon, 22 May 2023 22:44:04 +0200 Message-ID: <87edn8w0yz.ffs@tglx> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230522_134406_641392_44135FF1 X-CRM114-Status: GOOD ( 14.98 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, May 22 2023 at 22:21, Thomas Gleixner wrote: > Lets assume that *bar is the first member of foo, i.e. offset of *bar in > struct foo is 0 > > p = (struct foo *)(member_pointer - 0); > > So you end up with > > p == member_pointer == bar > > But you won't get there because the static_assert() in container_of() > will catch that and the compiler will tell you in colourful ways. > > Once the vmap area is handed over for cleaning up the vmap block is gone > and even if you let it stay around then the vmap area does not have any > information where to find the block. > > You'd need to have a pointer to the vmap block in vmap area or embed > vmap area into vmap block. The latter would require to: - split alloc_vmap_area() apart - sprinkle 'if (vmap_area_is_vmap_block(va))' all over the place - do a lot of other nasty things Not sure if that's worth it. There are some other options to pursue. Thanks, tglx _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel