From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C2C7303C94 for ; Mon, 17 Nov 2025 17:37:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401050; cv=none; b=dCGyrLx2CUHwbBq9FAXg+HEONcX2bC9t4xhBd8yxd5q3rbZDdhOWmgCOHTF1stSl4/a6iaUOyufEyX3oj/eUQyr5HY+xAwMGz/K37i8787k0Ufs4SU6JKHV54fRLHy6nwKjXoNKTq0nt8T6hn1mjD0sqvxFD1uLUL1v45RUCSH4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763401050; c=relaxed/simple; bh=kX6AFpK3QDzxWzPC+ssWPX8efYd7FbJVJ4iNqenCLXI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=EZL/LytN+A/yMA0rf+KXEvPPEP4kS9NB3SZIKFmc/srKokIhxysnlmRN4ChWo7UFI/uiqtDoxEKPp2bFXp2+s3tkV706CkMxFcxmHfQsTPLnuBsJCraa0TOOD/KaP8JmGG2VRGja6FgnLWzJUAn4rRxt4JyWMDCvwC1sma+1DFs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Wiujq+2E; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Wiujq+2E" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-7b9c17dd591so3549161b3a.3 for ; Mon, 17 Nov 2025 09:37:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763401046; x=1764005846; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=NyEbzk8z7xPPT1DseOSZ+zp56B2pNRV2BlLEcd5Pr+c=; b=Wiujq+2E+iA/V+u2BjagP0wBJNyEY9uthyUCd/rZ5cp+xgjNRbAD+lSbSFX2/MNLiU 5wZbL2Zg9rFS0WId3WbgeFsiBVlE7MJ8oA7bok47ad6JcvIaZPNwvHZBXA0W1WdzzTQi 30qnwamLBDy87NG/d0PRn+uhiKT0YT6K4SMKMNQhBQTpW0TCPbFU9KonMZF1RzfCKmAo N80zVCLdy3Rn2Zw5OkNqGNnPZzCXgxIcntDWxTXrs9gEMUdeZCcun3y+IQ1rciWxQp0z 43YoSYamEO34VAzqO0gBi+c1n58G7Gr5Zd2KhD15WBRzxear0B7rHtWRjIhkApnQNxVn +YtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763401046; x=1764005846; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NyEbzk8z7xPPT1DseOSZ+zp56B2pNRV2BlLEcd5Pr+c=; b=jLTCXxOPI0z5ymnzN5bB9V4xcOqlO8uHfQfWTsdCo2tQHv1Q5jhmQdIvsexGf/6+IC wydoYzum0qVTR+mZOr9lRAZYb+c3g79Qtc4+wnR3yWQD9onebQNh3UKpZDD7GtBxa75E mGl9ymvKUuLWkkPIPpKXQpnqtHiNm4b2t2siOHTHH9sBR2fhY1XLk3v7KA4uzrlRsTOO 5skk/rJryIkWHLiS4jHJBjBp7GYrvS/s3hpwONxRkCA2cBjElWkDGo5CvE48otTNiFv6 HTISO00/yEvI7gjOAl1WvT0inymHikVDYfxEAZA+PVRbaSD/aqGhWKmWlAfN/XyBWFYD fLVg== X-Gm-Message-State: AOJu0Yyv0N3l3gzI9Xu8GazWdINY2GHL1XnwewxzUf2NtI1mr5cnV6eh kuKGZ3cR0fp8XBN2TbG/q/YORDwoDhHhRypMla7kJNf6zfsMIeipzowEO5OPsw== X-Gm-Gg: ASbGncvpHHVnGZcYcN9/RLIq368fq90VuM6Wqs7h2iJPLwjG5SlQS2rfRszA6s2tN5o anUt4KIX2dl0thKCkoaOVgxvi6iWKhEwQjDRMpTNR5S/Th+ievRm2Sjpd1uSRzG02gxXlpowVOR 2cN4eTAR1nLAy8aKocuqhKyV0CvPJvECcrIIjwIuLqwgdO9JfVB/mLLmBOzv9rteTUcpzr2MNun ETZ2s6Y7AU8yXY1LGg5+hN0mJZoB3zg5J0ohAgC3OAwdMFi1Af5qSxnhDbXB0ZQVYjpuupIxM3z z0by1ruY5rvVrVACBT9/2grKBnKq9ScliqqpmvhV7J9KZrZzK+kiRIWAcd0psETe+lI4nBfyVEr KDsgSqedk6OFoeMHMcIsyinZFlE6c7bL3ZYPiSmELOVg+lTJrJWlQ0pjtczgAGucWah0IUkRYzn h/PUfI6dT+vrZnxqogpmVp2eSSk34wPjafZ4hABb3k+RqAqBqcIojNpg== X-Google-Smtp-Source: AGHT+IEK7YB6b5g9vRjs3QtpYVtsaA3O545xEkLIAQdMhsZCYtHsCYLz+LjhYU2gXqOD/FI0rh8ZgQ== X-Received: by 2002:a05:7022:689e:b0:119:e56b:98be with SMTP id a92af1059eb24-11b41505914mr5960143c88.37.1763401046212; Mon, 17 Nov 2025 09:37:26 -0800 (PST) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.googlemail.com with ESMTPSA id a92af1059eb24-11bf23d6967sm17190077c88.3.2025.11.17.09.37.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Nov 2025 09:37:24 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org Cc: Uladzislau Rezki , Christoph Hellwig , Andrew Morton , "Vishal Moola (Oracle)" Subject: [PATCH v3 0/4] make vmalloc gfp flags usage more apparent Date: Mon, 17 Nov 2025 09:35:26 -0800 Message-ID: <20251117173530.43293-1-vishal.moola@gmail.com> X-Mailer: git-send-email 2.51.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit We should do a better job at enforcing gfp flags for vmalloc. Right now, we have a kernel-doc for __vmalloc_node_range(), and hope callers pass in supported flags. If a caller were to pass in an unsupported flag, we may BUG, silently clear it, or completely ignore it. If we are more proactive about enforcing gfp flags, we can making sure callers know when they may be asking for unsupported behavior. This patchset lets vmalloc control the incoming gfp flags, and cleans up some hard to read gfp code. --- Linked rfc [1] and rfc v2[2] for convenience. Patch v2 -> v3: Only changes the whitelist mask and comment in patch 1: - Replace __GFP_HARDWALL with GFP_USER - Add GFP_KERNEL_ACCOUNT[4] - Add GFP_NOFS and GFP_NOIO just so all supported flags are explicitly listed in the mask. v2: - Add __GFP_HARDWALL[3] for bpf and drm users. - cc BPF mailing list RFC -> PATCH: - Collected review tags (Patches 1 & 4) - Add unlikely keyword to help the compiler - Replace pr_warn() with WARN(1) RFC v2: - Whitelist supported gfp flags instead of blacklisting the unsupported - Move the flags check up to the only exported functions that accept flags: __vmalloc_noprof() and vmalloc_huge_node_prof() [1] https://lore.kernel.org/linux-mm/20251030164330.44995-1-vishal.moola@gmail.com/ [2] https://lore.kernel.org/linux-mm/20251103190429.104747-1-vishal.moola@gmail.com/ [3] https://lore.kernel.org/linux-mm/20251110160457.61791-1-vishal.moola@gmail.com/T/#me8b548520ce9c81a5099c00abe53dd248c16eae7 [4] https://lore.kernel.org/linux-mm/69158bb1.a70a0220.3124cb.001e.GAE@google.com/ Vishal Moola (Oracle) (4): mm/vmalloc: warn on invalid vmalloc gfp flags mm/vmalloc: Add a helper to optimize vmalloc allocation gfps mm/vmalloc: cleanup large_gfp in vm_area_alloc_pages() mm/vmalloc: cleanup gfp flag use in new_vmap_block() mm/vmalloc.c | 50 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 8 deletions(-) -- 2.51.1