From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (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 F054C347BA9 for ; Tue, 7 Jul 2026 06:08:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783404502; cv=none; b=nZgj22NlY9Zr8wa0RFFre8dInEQXU8eN+rB3JAIx9pBq4qJmY9LBJureJaQUMsI9K9U1+Bo1ezYqLQ/ORbZARCQaNHcGa9OCBgD/TvxzQ4xga0vBMVeeMlNxJvlK1pw0eCA5ECfQaNfZ+38cLJ/l2qGuQD0/YcPrZATIJ0pWAfs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783404502; c=relaxed/simple; bh=ZT8aj6S+na+j+Btp+fT7CSFDMUOQI/VUR0MhPkxp8o4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=A6yK6mFK4kaJybcL/joWx05k0uuX00Tbiy2pOzQ9RGaEVhqTRz45unb5OU5Hc0jI9EKo4hfgveMXUT2hPPqLFx+LAjPspHlxwc9P1ag5tkifeEKJhFBUgux4EDeOK59P4CS6zwvRs86+855NY1HUgk7SCd+wJ88cjXFBFJLremw= 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=g9AWHo27; arc=none smtp.client-ip=209.85.210.178 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="g9AWHo27" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-84536ecfc5bso3789845b3a.2 for ; Mon, 06 Jul 2026 23:08:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783404500; x=1784009300; 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:content-type; bh=iwBtszJm0T7qJ+C73l5jdkC3o8ClI8QQ5ln+BuSFhXY=; b=g9AWHo27WPit0s8TUDeR7TCCak4IGBXsvuqHgOMy6PUSRi95ihh8HXSpKWahuzkMpb QZUWMwdiIQSzjSfFtuCV0icXdWXfeyj63yX1lZ76u5kMe2u5AIPy8u6EUICpZuXNZkNN zDzeJaO0SWsMc6jayhLCK2L3yYKuQvKDceGTgyd9WFBJ5soiUVMhEBwQb3t+F4QcKXQ3 //QWmu+9RThTurqgq//tlpoW4jdZbCTEgV4opWPCzaT8g4j/w/+X+k23YbfHY4KK2ZLX AvZeFueJcjf3E/1Gog42hsvuSNVLN43/DIK3xtl45gPS6UfqOTou1K86h8Ju4eeEtyl4 gUWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783404500; x=1784009300; 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:content-type; bh=iwBtszJm0T7qJ+C73l5jdkC3o8ClI8QQ5ln+BuSFhXY=; b=ZMSgfyb7nDqmf2yG1IYol0MDhKprfK54RXQ5rd0qXxfzuJghd0BWKUwIFx1aFKwr6G UJdKO2pjCwIyHsD2cU5xVoOoRf05RN84JF/eIFcq3lxDsB7WfkGhI1gvoERLBWVSGCoi inKTPaRoZFRs9ZoFDBQbnL7pw9phcvkKhIgxyijfVZKSdPa5K86/I+kYZZZAZq5df329 0NKUIUHwzifxibYqnquHYkB38Nf1AjthTF57E9z104e4WF/UsHWe58/kSiVD0RkRbCjs LPjozhn/rWpg+irzRIsqziKKVpEfJ23GuB5PTJoAVUjVYUOqtrTWal01Ttxa6nMu860V jC5g== X-Forwarded-Encrypted: i=1; AHgh+RpMPvVJfODplAqC/1DT2ZBXw7CNwtSZXXOalrlfCfnahbT2YoDHXhfgeQt+1cPSuKEtvghuPX/+4NiFs3s=@vger.kernel.org X-Gm-Message-State: AOJu0YyKQDxYkOFeRVtogdvVrPfDTQUmHSiO5EADpDo30UdVQ4tBvreT GM+ppGyyPA15KrO8YUs9Env4kG6f50+EP1Bv4KIEt3Em3iuEaSaw1Zrf X-Gm-Gg: AfdE7clj48c/BbYOYS049nq1zDPBP7WFkH4Mmd62XrI+v7qIr3NYq9/lz9drmeomeuh I+HKDHCUD9x5kmkCjQ4PwhbJxLP8dq1EgcH0VoeIMhXAkJNjqnRtXrqlTuBkseYOuCq80isUubW rAT84Zvtf13lfW4frPBEzDEktysiPbzskM0jmQn8pkOJH27C4KrrZy8LixLSklH1m0PFIGhriCF OK9T61IxREiCoiufK6UYCeowXzbtqShF2j+wnXkr4NjIcQAqHbSpLx6Ej3XmBXcjSsdBDaT4mBN OqiCs3xd7nBK4SWVE/bTutmxyPVU29pRNmaRc3AFkpfYcLX7oMl+TzSsQWxCZz3NZ/o5qhTNtzN LKOO6967fWljNOmcJ5evNVX7LH60CfmEJ8OD2rOVDq8XQMOCjP1Mwv8alhxXA2zJIVEXXrMNhRP n7JKGJhhz2AuwWLfcdOJzg+/DtoF1XGjwayWQrRwjMJcHdC5uHutbHQxnixz/lMayaaUtl5XFas 4B3JNC+hUmuCM4mI22LD/XFz3OiF0pZIg== X-Received: by 2002:a05:6a21:e097:b0:3b4:888f:b3f7 with SMTP id adf61e73a8af0-3c08eebaaf5mr4454529637.42.1783404500223; Mon, 06 Jul 2026 23:08:20 -0700 (PDT) Received: from u2404-VMware-Virtual-Platform.tailf6b5e0.ts.net ([24.4.24.156]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-311747f5975sm4101507eec.4.2026.07.06.23.08.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Jul 2026 23:08:19 -0700 (PDT) From: Sun Jian To: bpf@vger.kernel.org Cc: ast@kernel.org, daniel@iogearbox.net, john.fastabend@gmail.com, andrii@kernel.org, eddyz87@gmail.com, memxor@gmail.com, martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev, jolsa@kernel.org, emil@etsalapatis.com, shuah@kernel.org, mmullins@fb.com, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Sun Jian Subject: [PATCH bpf v2 0/2] bpf: Reject negative const offsets for buffer pointers Date: Mon, 6 Jul 2026 23:08:02 -0700 Message-ID: <20260707060804.93561-1-sun.jian.kdev@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Reject negative effective offsets for PTR_TO_TP_BUFFER and PTR_TO_BUF buffer accesses, and add raw tracepoint writable coverage for both load-time rejection and the attach-time max_tp_access path. --- v1: https://lore.kernel.org/bpf/20260703035137.109608-1-sun.jian.kdev@gmail.com/ Changes in v2: - Split the kernel fix and selftests into separate patches. - Add attach-time raw tracepoint writable coverage for a negative var_off whose effective offset stays non-negative. This exercises the checked access_end accounting path and verifies that the resulting max_tp_access is still checked against nbd_send_request's writable size. - Adjust selftest formatting to use the 100 character line width. Tested: - ./test_progs -t verifier_raw_tp_writable - ./test_progs -t raw_tp_writable_reject_nbd_invalid -v - ./test_progs -t raw_tp_writable_test_run Sun Jian (2): bpf: Reject negative const offsets for buffer pointers selftests/bpf: Cover negative raw_tp writable buffer offsets kernel/bpf/verifier.c | 40 +++++++++++-- .../raw_tp_writable_reject_nbd_invalid.c | 58 +++++++++++-------- .../bpf/progs/verifier_raw_tp_writable.c | 16 +++++ 3 files changed, 85 insertions(+), 29 deletions(-) base-commit: 12091470c6b4c1c14b2de12dcbae2ada6cb6d20b -- 2.43.0