From patchwork Mon Feb 24 09:19:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Erik Schumacher X-Patchwork-Id: 13987655 Received: from BEUP281CU002.outbound.protection.outlook.com (mail-germanynorthazon11020140.outbound.protection.outlook.com [52.101.169.140]) (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 5673824C689; Mon, 24 Feb 2025 09:19:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.169.140 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740388749; cv=fail; b=H6QGZ8stNpsY5TWYXtaWoyux7OCHSQKvKPfXaWqFjlJPgPDk4VC/J6idT/qr8obaS+OGyQ2pdHMTFS4WXjS93YBZhWfSOlSoDpQlB5M7jc9xngymxiUbZpgn1Hz3il+uj5trO8X+kAsWSo6B0ylkaJd2t5YwfJc4KHTe1jTly4Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740388749; c=relaxed/simple; bh=4XqCd1TS4BGqAN3Q7w+XCVq8IRcH+HXmYHWvLLaRYOo=; h=From:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=oENA17Ax5W/k7AL8J1xR6EzdkdW6wxUDrwpjdFTrpTJYgCvMCnMCsAafOE20WSsOjT6p6J9EcyQH63+olWxqe3/nIgLwc3+hdkE/XX578FrP5vZS/YPt6R3aDpuacPXPCXMVeFqFLThAayi7JXbtR56MLSV+NTFHblo93heGZmc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iris-sensing.com; spf=pass smtp.mailfrom=iris-sensing.com; dkim=pass (2048-bit key) header.d=iris-sensing.com header.i=@iris-sensing.com header.b=sC09fKxU; arc=fail smtp.client-ip=52.101.169.140 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iris-sensing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iris-sensing.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iris-sensing.com header.i=@iris-sensing.com header.b="sC09fKxU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Y/a8C0Js/jTY95NmfTvOxchkij77UMi1jXYh2xbNCCzt6ORHpV+lME+f7OrwJfgC1uvY/RU083UGcmyea9/Dga027O0VL2CDBPWGAGQhye5ZLEOhZpMCaBRF6iFgVJWY7QQnb3yqXiwcyYl6sZ9cQI748b8kMxFJbMjFYdC78laiXPQgOAUHNvpxkiYMOk27c3dvwQ2FRlpNBYvCBcV1Ekl8JRIXluWiwfiFc6iv1L6bI+kkob7flfhPkK2vMnbF7SDmXNCP/RMybYeZm8lriosXHyBSWRwY0ZmlJtVvxYtTweaaNLxtIjTnUaaptB6ezE1xOlXUY22PJsx+r1Nksw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4XqCd1TS4BGqAN3Q7w+XCVq8IRcH+HXmYHWvLLaRYOo=; b=XDB8gUwA7z7aSMKkWs1KN3pJI4CdZth+a0bMjWSGAWUJ9eoAO4VVNOAG2w5aFs+/U3DbvxlFjKHK4zi9pvXbCWnT4OPITKHx0uslbMXotkSe2gZthjXLzx3Q+tZPiKaWVG6bFuKjdqXHdHzFHLo9mQHIS/xwWjuhk+2mjkHrfAVgTo1tC4Q403aRqGj8lp/Pg09+KBNn3koK15WOLwHTMDnukfRZqbjBqVKH+pmikjRcpBa/rKwUCKGPTTYj5qKxAefAmEHIjL6Xf1v5f8MIMSW9vXdG9P7E/0zBAYXRyBk0WPdi2QNsI1+3ZpT6kohklfoPsjijPX1aJu1cO2vGoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=iris-sensing.com; dmarc=pass action=none header.from=iris-sensing.com; dkim=pass header.d=iris-sensing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iris-sensing.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4XqCd1TS4BGqAN3Q7w+XCVq8IRcH+HXmYHWvLLaRYOo=; b=sC09fKxUZEiJfAfPEjj/c1l5BRICUTjbCU+wiyvgsSUcfW9vI02fQ9awK67eSHZ5SSlAnYAY+qIkivTFwXr9HmFxzt2sgfMQrbTKHzkWDFgVbB8Qd27NE7JkJPxnbY59bxZyS148ErLL7bKaf36sECgQvlkm3myP98nkriKyEh/d0c+05RT8XgaJN8rajaUlh61CdGRS1pMp65YuASJwbCKqD+qbCxhOmSti7hCgn6u+ycv23pxjQsj5+PIYQ3Op104wOtIcQdpydIXnPypKEZ0+ZvfUmokSAe7AF+6msiGg2QxVOGYnMrZ5DUsVaaJ/7fYyvVOExCcU49zQ466dcg== Received: from FR0P281MB2809.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:23::8) by FR5P281MB4138.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:104::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.21; Mon, 24 Feb 2025 09:19:04 +0000 Received: from FR0P281MB2809.DEUP281.PROD.OUTLOOK.COM ([fe80::d685:f312:e114:519e]) by FR0P281MB2809.DEUP281.PROD.OUTLOOK.COM ([fe80::d685:f312:e114:519e%3]) with mapi id 15.20.8466.016; Mon, 24 Feb 2025 09:19:04 +0000 From: Erik Schumacher CC: "linux@roeck-us.net" , "linux-hwmon@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "jdelvare@suse.com" Subject: [PATCH v2] hwmon: (ad7314) Validate leading zero bits and return error Thread-Topic: [PATCH v2] hwmon: (ad7314) Validate leading zero bits and return error Thread-Index: AQHbhp0lUa8a/4GXQ0ecDFY0kJm8Bw== Date: Mon, 24 Feb 2025 09:19:04 +0000 Message-ID: <24a50c2981a318580aca8f50d23be7987b69ea00.camel@iris-sensing.com> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iris-sensing.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: FR0P281MB2809:EE_|FR5P281MB4138:EE_ x-ms-office365-filtering-correlation-id: 1745f350-760f-40b6-18b7-08dd54b44877 x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?q?sWvkYGu7cVTWdCd4eitYsMDsi0mgPxt?= =?utf-8?q?bJU+wCRjELikrevNCcmxfrTux8PIpeZsdpjxV9vEvEJxtbFgdsH9W/uDWe/iW0UlA?= =?utf-8?q?f5K1rPuEwXHm5xdBBBSaTVCuollAfuYeGlXh2m+tM8sYdRBYh8aKRU98LsJu+CuF+?= =?utf-8?q?R4WtHl02Ceqy6PaA4KxRmPA8Bi309hru4HcLTmE0j3ip4pynucf5iz1QkWzz0K8tb?= =?utf-8?q?wCtP59aabpYlsHDmOzrVMkn/hUEvqsHQnAlzb01CtcTvx3BlggeJH0aDWQ9tae5WQ?= =?utf-8?q?cY5/+C96326gNnuJIN+7ugcMRoH4UVs8pFp2yTvG+vlZQDKcpON0jGfsI2HdDO6b4?= =?utf-8?q?soG9zLPP8cxymiggrXLTIthgARog79Dhll9dXA1dr3xRVhkTNwhiMfsyGagKGDJQ/?= =?utf-8?q?VlCt7gMBO5QdhUOF6eOZEhtP6RytdCy7R+B+1hyoBg02r600ITXpshr269XqhReZQ?= =?utf-8?q?xpb8Ks9y2orz/9IMKAYuHrJUChUDsGLafb4trmfoR8tW8ZxN7sZYQtwxMc5qRO5+O?= =?utf-8?q?yaF0CGMaqAA1PkShdTViKE1Ubz/YSRiDg7JE9UP2MaG6U1qhpluJv/XGAc1Ktbxsd?= =?utf-8?q?o9/SxV8Por1TB6XwgkbyBSoykiGm9F76ouul9nz7tWs+Xmyr7wCcWqZEXnTjun4BE?= =?utf-8?q?vK0R5ySPL1SRDnkspZHRclsRTv8FJH8b7MqDOKirnXLKqCZz769MHbHBOu4NCKY5u?= =?utf-8?q?QhNkwBZ0qJj9TPLFuP0lns+jteu/sh7jUHpK/rkNl6Eeo9Xk+98ZluF7Frvd8ULu7?= =?utf-8?q?1zUuHbUvprRp8H0pvwF02elQq0wZ/CNklnz9HiD2gKem428mstYXRQNttZ0b0svQt?= =?utf-8?q?YB7ZYaOoDpANOwPQqX4h5XaRu62P1UhFQwX3BjzCXk3jr7T+tT6SLsdnh8zOlmV96?= =?utf-8?q?Js0gULQim664SJKvmt1Us9orjTz8sRCY1UcRsGSGBvmrYJxjY/ygvMNwoF5VvIKqe?= =?utf-8?q?xWWSuCf8mvZiFrLdbPzJp6UDVeY2b4yJ36oN2gISk8bihfpRIS4XemsT/0lKw2V1B?= =?utf-8?q?Mtu3Ab78UOPej6hM4B/Invx4wfB2CH8aX4Rim3p6Cw/m+kvxaexsUd9qHJXfBYmc3?= =?utf-8?q?tcr+0NEbw5TLh2YgyqIWT2AHxVRMVyBJoTic6YrlE8XCvxqqECM+XflmhvtForXCh?= =?utf-8?q?gUARHqgnES1CSMH46S/2zmEI7w4G78WQoNTYVjS6XyaE4FGJOcVuU5c21Em+xlCIo?= =?utf-8?q?SguA/buvoB7dcDJlli2cPDoKzHZIrEEOF6C9e5GbnRV2oV2ZtWu6y5UtlBsOSgsBl?= =?utf-8?q?uyWMBPMsCN8QzcjghbIIw7ZQXI9N2BC1Pm3vJmslo+EJqNeZp3yGo8+9Ufn64qotA?= =?utf-8?q?bq6yXDkZ57D4Mbo9j1S+E8VORyOi39ciCA1Mk0Kiq4hTLz/aaQoVUiKpsdtZDGmIz?= =?utf-8?q?djGsNytr1il?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:FR0P281MB2809.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?fIUQ+X0YLZpVucVpJBr1fu0oRcCL?= =?utf-8?q?s2s15U3MeqFczJcsg6WFffAqagrjOAUZR8ohj87BpmzVBCza3+Xb/Eh6t1VGSsTk+?= =?utf-8?q?BPKx3+cF1s1SFTsOJmb//ZoA1qD/AmQbAA5EJ4uaP/VA1GOH6yAbdwXzk0mrj0V5h?= =?utf-8?q?ts1Ly8hEwn8ujdTAEzVI9+QGJjnod2Lukknqk3ged53y99UPHuQC4ZssFiEgOldx2?= =?utf-8?q?cZZBExW8PEFFyrShv/ExMWiVJCvIZJjDP+cai70NLLmAMMJXzCYmjKgTZ5BtQX7BK?= =?utf-8?q?aC1BA1MhrucoceH7ijg/7rBbyomSom+/sH4hcX2/s2gkUJl1gbMdHrnwqKaNWxKOh?= =?utf-8?q?yho4e+CQSNz2EwJFlhWO17PZeG8pf6RMb4inOvWb11LyVn6004phrI5RyM+QQSsWf?= =?utf-8?q?nBbavWGRK2LD6fJxlwjihoWM53QvErbR8aq6kAvVF+37MspTpa+Pp18W6S0J0nYMD?= =?utf-8?q?FksqZD/c4FZ1TRW7RVn6QHt2UlmhDlU2cmEo3fPMnaAewCIekuAhvuVZX+z2rLkMo?= =?utf-8?q?yLzM4PMTlOKKWp5iSfWNcxZ0mC04MWVNJTsgVPjlK6/A5arbFXbmdhDmcfwjFFcID?= =?utf-8?q?IDCIUsT3IMncnAPVksbkHQSNm2aO+U1mi170CFpvU/sxUd6wtGf/PER1sY5Obp7nE?= =?utf-8?q?d8UKQFPwtVvHjIluLsxkjPU9IVi/aDAZwmIBQvDMAmKY7spX60dSfHb15Rys2luPC?= =?utf-8?q?8RnRpnW0IkeCbL9XGOWvH0Ymiptvq/6xFWJ1CHeZXiWZReFgyoTqPjfK8pzFVldar?= =?utf-8?q?9iJbzzdOOvhhl8I1EFDUFrU3SQsA++JTWLF0G7JnYZHLPEgfgW4mmpB04aBPdxNlv?= =?utf-8?q?ng81/JdCaFAknMeEyNx1nwY8aLEXofcRZXUQj1ceeMNBc+fk9WNnP/BSqtiIlzWSp?= =?utf-8?q?7X+FWMX0qOAVJcdnCCwRAZJoWLFCXyGdKj7TuIAkka7paKtNXetfPyjDMIJS87MSt?= =?utf-8?q?wsJDxWG4+tfzQOUAXjMF2HF99csxE0VHKPd3Nq5b6vxXWbeT6bkmOarTEhj14cVXN?= =?utf-8?q?4zclSb2o/7TnYgnn/8vUPvLv2Ogkbl3psfqdv9bY8QmS/WS8jZO2JYDOSbueTnJAC?= =?utf-8?q?Xh4Bflung+DYl2cHu+wLGi6hG65x6cIjpxGPMkVHNVEiLC5brps5sHXh69NeW1ry2?= =?utf-8?q?hm2/4KEzrBSduE96E+cv8AfYjlNuIVt0HRDYrwrk3rqrltSn80joAmgdLGDxNbEdx?= =?utf-8?q?JHpNdq0YauDdr5I6vemYhOxaxjOdDjMgWQnoFKr+Mk5jFexSSAcHP8M0vWgypFyBp?= =?utf-8?q?4xjBMwJgzsNVf3+gVl+19Xxg5OpC48T800x9pyNpi5unxXXd9vH+tI5ayu9ix7k92?= =?utf-8?q?Kel/j6Ctq6sx+IXP1eAwu581Ytf/Rv43yTsggqo1i9MFOIs3Ws+mDfC8KJ6DsrIEs?= =?utf-8?q?uIK32EzhHvuzynSXFKNmOcIX+kWeyXnDsPWtdIxEdw4TD8LO5BJW7n4HHAJb+s4Xy?= =?utf-8?q?UIWUYnQg3pzg7yoiWnquQbwita8d/t6wMeKeIfWXBMpk50vR6s9OQMsuN6qP0P3BH?= =?utf-8?q?2Ik+GMQk92LgBjeZYv2x1EI38R6S5anH297J/1m69KG56VUztmzylxg=3D?= Content-ID: <0B59993964997D4389EA31F1ED59A7B7@DEUP281.PROD.OUTLOOK.COM> Precedence: bulk X-Mailing-List: linux-hwmon@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: iris-sensing.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: FR0P281MB2809.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 1745f350-760f-40b6-18b7-08dd54b44877 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Feb 2025 09:19:04.2584 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 963f3913-ffae-43fd-856b-2dfd3f6604e3 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gEI3MKS7A/tTt+S2fo85atN6pOcyEH/X5Qd5va7x/BhEFIXgK6EdQ3dTp/GpLkGoAFWMV+GN/Pvq/koYcDU9L0zOPo++VuEJJiwUyZCW4/zVaESzRw1cmUk7aNdPe3h0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR5P281MB4138 Leading zero bits are sent on the bus before the temperature value is transmitted. If any of these bits are high, the connection might be unstable or there could be no AD7314 / ADT730x (or compatible) at all. Return -EIO in that case. Signed-off-by: Erik Schumacher --- Changes v1 -> v2: - return EIO instead of ENXIO - check leading zeros for ADT7301/2 as well drivers/hwmon/ad7314.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/hwmon/ad7314.c b/drivers/hwmon/ad7314.c index 7802bbf5f958..59424103f634 100644 --- a/drivers/hwmon/ad7314.c +++ b/drivers/hwmon/ad7314.c @@ -22,11 +22,13 @@ */ #define AD7314_TEMP_MASK 0x7FE0 #define AD7314_TEMP_SHIFT 5 +#define AD7314_LEADING_ZEROS_MASK BIT(15) /* * ADT7301 and ADT7302 temperature masks */ #define ADT7301_TEMP_MASK 0x3FFF +#define ADT7301_LEADING_ZEROS_MASK (BIT(15) | BIT(14)) enum ad7314_variant { adt7301, @@ -65,12 +67,20 @@ static ssize_t ad7314_temperature_show(struct device *dev, return ret; switch (spi_get_device_id(chip->spi_dev)->driver_data) { case ad7314: + if (ret & AD7314_LEADING_ZEROS_MASK) { + /* Invalid read-out, leading zero part is missing */ + return -EIO; + } data = (ret & AD7314_TEMP_MASK) >> AD7314_TEMP_SHIFT; data = sign_extend32(data, 9); return sprintf(buf, "%d\n", 250 * data); case adt7301: case adt7302: + if (ret & ADT7301_LEADING_ZEROS_MASK) { + /* Invalid read-out, leading zero part is missing */ + return -EIO; + } /* * Documented as a 13 bit twos complement register * with a sign bit - which is a 14 bit 2's complement