From nobody Mon May 25 01:58:14 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA91C340408 for ; Tue, 19 May 2026 13:15:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196509; cv=none; b=ckaZ1ZgtH1zyc8S6SNBStxa+fiQ+yB2c7SBQDDJG/7id9A24D+i87ArnUUoKOgyDSzwEXUAapQwMJWsu5BKAZ4Fv1edDXQCNTkoMEOWtediHochA/btMbGkaxkJ+oAPAgayxRg3OPzmSbC/YVVDQmSkEXm83fy2lbx+3Hjh/oKs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779196509; c=relaxed/simple; bh=YKWiZfPkIobtCo4vzcMMJlDElecXhx5I2N7ZmTnWs2w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=q7Iiwbjq7zxRxtOnTrAffua80MOfeVTf7EBsLpgj0NKQ6bLWSZXtahBtLhYIExV1LUCjDZC4RPG8UTjmdp12H+ryVm5QYmB2VYxY90CqYPuXOdAgq6lkaiXCiNCH/7Lc4BgID9Xr+HhULNECFxgR9oiiwJK1fLBHCfjdlN9GNe8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=HCW+IkFt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Vk3C6X7h; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="HCW+IkFt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Vk3C6X7h" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64J7mB4I2975785 for ; Tue, 19 May 2026 13:15:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=rcENiQasZV2cGHWd5fnBp8 yb558lW/33ZGqtPWbcmSU=; b=HCW+IkFtCOzGSPEH6H16/F89S/NQmNLNzazCiv 1Mlkq6oYHpd+hDGCYWbVFREw3lDZjRDE6Th2pryAhACD36ymykTzy4KmucKAJpnj B+LYwFpFkdaSfGkCiPjkCDpgjleyRbluAQhsUaXxtfAkk/QmzICW0wAKPidtSKx3 jRBRINsMQsMW59Tpf6UPosQVH3iTXrtMYXxyjAwxHvlYrQJOu2u04Yw9fULlR09Q I9o1FSdceuN8MkNzlynjuEaDDTpFK5rswASwjLQlsCXZqPsL4BN8sPVipLchqwh1 HsUCYHWIxWD75RNWDga8Kyx7xZQXHV854pMWXJI9JePcuODQ== Received: from mail-ua1-f72.google.com (mail-ua1-f72.google.com [209.85.222.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e84v4cmbx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 13:15:06 +0000 (GMT) Received: by mail-ua1-f72.google.com with SMTP id a1e0cc1a2514c-95fd5da382cso1080830241.3 for ; Tue, 19 May 2026 06:15:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779196506; x=1779801306; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=rcENiQasZV2cGHWd5fnBp8yb558lW/33ZGqtPWbcmSU=; b=Vk3C6X7hIqExIgtklHgC3DQn8PBglSpgH2iKUTiY/4TMkOMHZiaDLAuCPbc1JER76T lbtPV3lR9WFUiGJoBnx/2E7RkPW8LALZr+AFG4qTdcqQ8WfAE3Zqju1v45rUDKYpd/qE qBKssuO7vUKoKKQMWzCu3Yc8a8pXQjOQRM1VOzl2zIwbLWbEpMst+sdWkLOn53kaRj/I XfI6mHj9kudBYX6UK5q4CEVR7wwvy07uHXJ3H79zAKYs/mgyGZvWmt0EXkX+hn83yzZY mm+f9gHogdeK8De0dmvhEhv7KNb+qfgfL7WThOlwe4w57V1+ybHzjegpDgqDGpi6zO/U 2q1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779196506; x=1779801306; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=rcENiQasZV2cGHWd5fnBp8yb558lW/33ZGqtPWbcmSU=; b=YG1q+fWxigWWGew9KT7/fm9sdlZ6zMH7i1sRWCMrVK+TR7j1RSprRZQKfbrHR8vFVn zg3vgajWaa/KAuIlD27K3nRd6hqSfXuUNoSxRqtKNKrigg8kN1ukcGJCBy6fEE1Bth/V zyK/EFHc2VwuoPOJ510Q8xqDx/ZbUPSAtwqtL0+FBWY7tMdBVJiXLW2d40GDXxMB6etb ME7x/RkLl8sEQAjW8aDBH7PhdNnoxrZvUIo7mJJ/nVh+4Pz6QA4UYuH3owbc4XTCi3aY wILRjmEKvOCyLHgoyIOhbOEwUiP1YOyHm4shlYPN/7KCf9U6oPo7NQi0YFAJkKMEnKr1 c+2w== X-Forwarded-Encrypted: i=1; AFNElJ/xVSp5EuY4vwOw17rBmn5M7kUm1Y6FFMPNjBLCG45Tg35fYGwuYeq0C8fDf8y6x9rDGbRCputFQ9VX5tM=@vger.kernel.org X-Gm-Message-State: AOJu0YwvLlNSPlp4sj76050i53ZaD+BogbrXg/C0BDvkd49ru4V/BeKm sA8w4SuYx9C7dkCWOHGZQ1b7YJwft66H2RoBhcw7/LheBK1rcNAJHQzP67oBXA0yTPBVaoD2rbc tUJSnQ77L2WO709V1Df4raY/bENyjHpOuR+oIhuSm39Uj7qukrIKLoTqjyakkxvAbIH/oAs9O+1 k= X-Gm-Gg: Acq92OElC8yi0GxplTFxJx9raM5TGM2dAJunCsajyAD2zRw1ZDimM/ic/K8+T8IAQm6 81XPaRwdY9oRqKl9bj5Cur74gOYk8lu9cZc8TKdOCIJpHIWsIxlfG0oKZupfCIjcv7xkV/9PNbH DO6VEbHFYCS5NOExtTiBY8CSMTpMUzCnKqLMBavFHONug3vTCbHGuE/b+t6ZR/rtNPbyLgWeAob +NTY0cC8Sd3VAlDUOd3GB/5hsduON/mflY+JQxsz1B+VsljEiuqoHxLOnN4WF04dH8hTPr6hNnT yA99jPb9pxO6CbfVA6jsnOhQIcYuFTabcImhoRGsT6IYZnnV533UerfqWlfdhAMPLlffAXEpOWE hJZlkB2k/n1oS0uzb26Wx8oHTsTMZ2J+fhSjZsbm5TWdFaktjkBs= X-Received: by 2002:a05:6122:9003:b0:56f:6cc0:681e with SMTP id 71dfb90a1353d-5760be3bf38mr10738330e0c.1.1779196505823; Tue, 19 May 2026 06:15:05 -0700 (PDT) X-Received: by 2002:a05:6122:9003:b0:56f:6cc0:681e with SMTP id 71dfb90a1353d-5760be3bf38mr10738257e0c.1.1779196505400; Tue, 19 May 2026 06:15:05 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3fb6:74e3:3c25:ba2f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45d9ec3acf7sm45735877f8f.12.2026.05.19.06.15.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 06:15:04 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 19 May 2026 15:14:53 +0200 Subject: [PATCH] gpio: cdev: check if padding of uAPI v2 line config attributes is zeroed Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260519-gpio-cdev-attr-padding-check-v1-1-a0c6d4a698bf@oss.qualcomm.com> X-B4-Tracking: v=1; b=H4sIAE1iDGoC/x3MQQqDMBAF0KvIrB3QFGvtVaSLMPONQyGGRKQg3 r3B5du8kwqyodC7OSnjsGJbrOjbhmT1MYBNq8l17tkN/cQh2caiONjve+bkVS0GlhXy5RGDk+n lH4qRapEyFvvd/fy5rj+u8IExbgAAAA== X-Change-ID: 20260519-gpio-cdev-attr-padding-check-7e52c98a3de7 To: Bartosz Golaszewski , Kent Gibson , Linus Walleij Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1586; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=YKWiZfPkIobtCo4vzcMMJlDElecXhx5I2N7ZmTnWs2w=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDGJTOhXl9t8usm+c4OipLzLoAndtW1HhfCBcN 3iKWH9ELgqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCagxiUwAKCRAFnS7L/zaE w9gRD/9d31ecsIbvCb8S39qujE8NvxwuDxbBB1A6QjLMQr85JG287rLBm3T2fLqgkiE9WH9gRWn 5bXjBDYURyhsUAlPyrckgNwFSIQ6PBS6+lsmp+5CLnIpnro6y6MruhNDvjcdphDR6xad6z7C/3e DJs7vkJP83cQkPZ5+Zu21NN8uNl07Itfw76e7bCULYUishRt+nxsHGh0r5e/GymSXTWEhnPdUNr NzBWzIXXeQasxfTPDVQTFMPw14ePz/KflBR1rzbybDAa5S+gB05is/R9/bG6ibIX2vQRRAZOvU6 lUuDdY5dJoxifgc/r9f9FhWrjtMb68IUI5fBQVUPlqBKWfV6dJXYegy+0umaxACN11BpCLtasrf TztptEu6AxTVC8u54uch4DQ2HuSn3/sDwAoqmCgRvPAv0ECax1JsaMDv7bBsSVL3A0tJdkLPluL g7UyuhvENlfL2j7NoIEZuM5K2fXaiBLozCL+dCRMeukoOSeA/ZaE+S+qu6cvfELqtF+fHbGHqri OdBtfb7K9Uwv/EUBnhXTHRdzPZYFLOIZ2C9t++lgX/074AzsrRoOUXrb8bdK8yVggHLuDdE/8XN WbvNjn+6UHqmggDLs46UYi+FIhP0K+QJPCyi1/fFry50gr8id+5CMdp/QPQEYkK63e9Mwi0ElC9 I7k/T6gew86SVxg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=VJPtWdPX c=1 sm=1 tr=0 ts=6a0c625a cx=c_pps a=ULNsgckmlI/WJG3HAyAuOQ==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=BL_IfG5vSrN7on1ht2cA:9 a=QEXdDO2ut3YA:10 a=1WsBpfsz9X-RYQiigVTh:22 X-Proofpoint-ORIG-GUID: kivqt6jCvhoUY_zuGO04GIYe2TuOLg1x X-Proofpoint-GUID: kivqt6jCvhoUY_zuGO04GIYe2TuOLg1x X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzMSBTYWx0ZWRfX+nMwJ5q81y3X 37MhpnDzT0NW2BlDmB56bPZJ9AmGe2pNDtuhRvPhN6QPwm/qKP4t8NF8HnSEeJQC30Wt3ocayRH gF7J/p8TCOHQdJatMJaS3uU3iO/S9c6d1w5YF6voZSrZyc3Mq6jVjbDYAa/Njo/RWrjN7zvdjyj 98DNGuVTnRPrQOzxMydz85yQGrH4+teqhw5cbj7KFPHro0f1A4Cf1BJfyhmfqdQ95H57OOtU5VM rmCItYJxOo2NpOB3OFnVnAN6wh8kXirR1lfgOP6v+vr3jpwZILmIT8ICzvus3VvjKStjVJ+ql6w Tq9xy1Z1x50lT4dM816NY7H0JT0SKNQDK88435c16y+F4RvRHjKNGw2/M0M6EIap8vXlmwCLXOa 9Hgpgug1LChqvJd0j2APUnVjD4i3vTxRLiua+ZdP/MrqtxrFOkZKMNR+wF67/nKwENAtnh1cMvU KcD8uXSjLOAU2pjlogw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-19_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190131 We check the padding of other uAPI v2 structures but not that of line config attributes. Add the missing check. Fixes: 3c0d9c635ae2 ("gpiolib: cdev: support GPIO_V2_GET_LINE_IOCTL and GPI= O_V2_LINE_GET_VALUES_IOCTL") Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpiolib-cdev.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c index f36b7c06996d70b2286edbd181899e4c572b9086..f6f49376a36288cdf44493334e7= 66d6340294ed7 100644 --- a/drivers/gpio/gpiolib-cdev.c +++ b/drivers/gpio/gpiolib-cdev.c @@ -1184,6 +1184,7 @@ static int gpio_v2_line_flags_validate(u64 flags) static int gpio_v2_line_config_validate(struct gpio_v2_line_config *lc, unsigned int num_lines) { + struct gpio_v2_line_config_attribute *attr; unsigned int i; u64 flags; int ret; @@ -1194,6 +1195,13 @@ static int gpio_v2_line_config_validate(struct gpio_= v2_line_config *lc, if (!mem_is_zero(lc->padding, sizeof(lc->padding))) return -EINVAL; =20 + for (i =3D 0; i < GPIO_V2_LINE_NUM_ATTRS_MAX; i++) { + attr =3D &lc->attrs[i]; + + if (!mem_is_zero(&attr->attr.padding, sizeof(attr->attr.padding))) + return -EINVAL; + } + for (i =3D 0; i < num_lines; i++) { flags =3D gpio_v2_line_config_flags(lc, i); ret =3D gpio_v2_line_flags_validate(flags); --- base-commit: 6a50ba100ace43f43c87384367eb2d2605fcc16c change-id: 20260519-gpio-cdev-attr-padding-check-7e52c98a3de7 Best regards, --=20 Bartosz Golaszewski