From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 E43FB43E4A3 for ; Mon, 18 May 2026 16:14:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779120878; cv=none; b=cXYDPan3zho0aO99x1il8omlW0BWi5RACm9650Qd4tzI0J2gxaMtXlH/bQw6/96eVbD800KlF+6/npjNOMt5XHtbCdu4GW8cFPNI0bUCdfAOyJuT2UFvHq0ofWCtTp7cLK7GLUjhIbdI3Zbq2+OSjR/iMTmD/pUwK2JYEzaeLkM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779120878; c=relaxed/simple; bh=KBmaIFHON2EYfGmxVZYjIH/WtRx0RWqToQinmPzD7i4=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=oQ6X5kR79iiJleEc6npXtDXBJ3y/Nrm633Lv/Aqx0KZe9tNcvR4s3vumrxthlvALiWm6w3XQnDZYkZ4TOARYPXgHxq6gDhO2wgufQOfTDScNvt5AwgrpHKeXO3ONZ7VcJV0Zfgaliau1wFzgBtmsPSHGOf6PUthg3jevG5IZyj0= 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=pf4q7KQD; arc=none smtp.client-ip=209.85.128.46 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="pf4q7KQD" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-48e82c23840so19326705e9.3 for ; Mon, 18 May 2026 09:14:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779120859; x=1779725659; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=SDQc/Hmcg4wkxrkpnM69XNZHAqGS6wrj96XS3N9o/CM=; b=pf4q7KQDIX4aYUNO5qTK8noUwHH4b4C7thwJpFBsfYrHz8JTcLB1azrAubTvOYJ42y xblz69Rxvq1D2fs4AXfoxpo06u3Yq9kNyDXL37GBREMWim8ZSmZEH0EulOQbfPk4LwQw o4LNbK/XFb6wbJPShfpG4oVTVog7ETwHP8YB2H92v8kbpWifzEQ6E23H7atM8629+WRp 8rccpBjzg5x6LLaONtL0W3hRhrSASlhWvn3pwMAbCtiyRbXzPuqVj/hgI+2PkrhTtjL7 c4tkZ9QWz4a6TwkJLhvEUL3nLoUgttWrhof1RVX9+tndGVC+SF507D2Ojde4fy4oGWH/ UsSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779120859; x=1779725659; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=SDQc/Hmcg4wkxrkpnM69XNZHAqGS6wrj96XS3N9o/CM=; b=m3Ui+w60Y7uyYcZcc59++CpcFMcW4uBOZcwMkc/9PYlPEO/G0caNZQu/9LjjoG+IdZ G9ItCVXJr9EIWJRrZFc5f/kfCwlhPhqVaqwn06xSMkFTLMX3NFbEq8YlAmvsl0tiohqv QDWakGF8Eu9umiUK9p+J/5jpbyydnWFCHsuPufKqH0wc1UFMXi2w3GHTOC4CEJyTvQdW KLbYhOuObx2Y4Sabju2g3agE7LMju+w/vncrWK0jMHXb0+PGOGc0R9aPxm1zrJF2sDTw beTvtXfFKCwaY/UAtD8adfRjgLUPNecCM6rbyX7IPIJkg2iEtBzfdsRWZn4x6tZ5aeZe 6dHA== X-Forwarded-Encrypted: i=1; AFNElJ/IMPkisaVNn8gmLAsBTny6bE5DwUSO6l0s0c/D78d5o4gw4Tzc1NcTI1wiPljKJNbE5HnxTyd5wXzlPgo=@vger.kernel.org X-Gm-Message-State: AOJu0Yy36E94vXqiTwATAen5aN2jxLEbSuwJENk0/pdLtjWysGkJGBPY LgkaVJpHm9Z4WVVEXU0xPR5Rz90FoST8U2cAwEJEQeBvMcq4f05Nvf32 X-Gm-Gg: Acq92OErPWcV3wdq1Yn/rlx7xrMJ6IUTF5dXAR3ScEhdaYEYs6idUrk3RyFJsuWUVOy FtFbrnAvW+b5WNS3Yc5A54vwMN5lb2MR4baLDj2ofMxgOJjWVQ57qNmntONvEfpG/sSsBVnacTt Ux1B4DBUUhG4N7yLzjNVo5ul+pUUjkcMM+MmIS7533bA0z9AYenG8QQiL6soE5fWVTLd+VPxEhb 8vJaqPHGsPHCuWHjUosEaBUHbxn3YwT2i/dzWOE/udnagjrjNrCMYnJn+zAnswX6SXCVQCNIvrr olRklMxiZ95yfWp2pIMpyTM9zvHMuWtX4GIrTvFnGwYDxFvdJZvguNgWtxKDm22XNhTjuR5vk3I pOTFQmdMBB05mAzR0R9d+7ewhR1CSe6hWPPWy0vKVMAqiBxdK3NqAH3u8VVpkcAO+GPkzcpoDz0 ozPp8/KlEpN6ua4UxQ+6q7qrqAkuuO47W03qFaNIoiQ2dU9WzRXKfkuNfS1io8aA+awURprcg= X-Received: by 2002:a05:600c:1d0d:b0:48f:da34:ec4e with SMTP id 5b1f17b1804b1-48fe632343dmr227408525e9.19.1779120858659; Mon, 18 May 2026 09:14:18 -0700 (PDT) Received: from ?IPV6:2a03:83e0:1126:4:1178:9251:cb12:6150? ([2620:10d:c092:500::5:5e25]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4900c16c62dsm72201115e9.11.2026.05.18.09.14.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 18 May 2026 09:14:17 -0700 (PDT) Message-ID: Date: Mon, 18 May 2026 17:14:16 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH bpf-next 1/5] bpf: Check tail zero of bpf_common_attr using offsetofend To: Leon Hwang , bpf@vger.kernel.org Cc: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Kumar Kartikeya Dwivedi , Shuah Khan , linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, kernel-patches-bot@fb.com References: <20260518145446.6794-1-leon.hwang@linux.dev> <20260518145446.6794-2-leon.hwang@linux.dev> Content-Language: en-US From: Mykyta Yatsenko In-Reply-To: <20260518145446.6794-2-leon.hwang@linux.dev> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 5/18/26 3:54 PM, Leon Hwang wrote: > Because of the 8-byte alignment, the compiler will pad struct > bpf_common_attr to 24 bytes. That said, sizeof(attr_common) is 24 instead > of 20. > > When check tail zero using sizeof(attr_common) in > bpf_check_uarg_tail_zero(), there will be 4 bytes that won't be checked. > > To also check the padding 4 bytes, replace sizeof(attr_common) with > offsetofend(struct bpf_common_attr, log_true_size). > > Fixes: f28771c0691b ("bpf: Extend BPF syscall with common attributes support") > Signed-off-by: Leon Hwang > --- > kernel/bpf/syscall.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c > index 6600e126fbfb..83de8fb9b9aa 100644 > --- a/kernel/bpf/syscall.c > +++ b/kernel/bpf/syscall.c > @@ -6278,7 +6278,9 @@ static int __sys_bpf(enum bpf_cmd cmd, bpfptr_t uattr, unsigned int size, > > memset(&attr_common, 0, sizeof(attr_common)); > if (cmd & BPF_COMMON_ATTRS) { > - err = bpf_check_uarg_tail_zero(uattr_common, sizeof(attr_common), size_common); > + err = bpf_check_uarg_tail_zero(uattr_common, > + offsetofend(struct bpf_common_attr, log_true_size), > + size_common); The change looks correct. It looks like similar behavior exists in 2 other places of this file: bpf_map_get_info_by_fd() bpf_prog_get_info_by_fd() Does it make sense to fix those too, just to make sure agents follow the pattern correctly next time? > if (err) > return err; >