From nobody Thu Apr 9 09:34:31 2026 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 5379C3ED11C for ; Mon, 9 Mar 2026 18:01:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773079301; cv=none; b=vGphNmUtbS0VIgDD+Bndv8harTuJkHaIAGQjISg3nD5HVvV2OgaO/6TbndbH9ExZzkU3wVtqjzOXdLuEmWIfpr/vwlYNOEF6B1MWgW1LNukYRHn5LVJArkbdHUeZ6dEVsc5qCwwMI/oDbvMW+8VgtfDSxlgKqtAJQnHnj3a7dPk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773079301; c=relaxed/simple; bh=maxlVA4oxzDMZWxd7ftlkv5zJkOpC9hH0WTm1wcE8xY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=O7Vj78aHbcDj5O8npqrJp2JdCc3XaV+h84env2HdRPsFH4pernw6naewZSV+wLIFeL3BWTizQcOXHVARNvJc9xYOPke86oeqwZ61m56ODJ/oSHRdM8v1x3dr7Bu//dfp7W2jdivCHaNCeU9x+PpoYRsBttTeKylGn401coNl75M= 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=W6VVdMvH; arc=none smtp.client-ip=209.85.214.170 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="W6VVdMvH" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2ae82df847bso22058845ad.2 for ; Mon, 09 Mar 2026 11:01:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773079300; x=1773684100; 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=e5ipli13t1o4xLS734cGrlylkoQC1n3PL8/KZ9gjCPQ=; b=W6VVdMvHy0rLr6CLIe9cgBalTez9Mk/u7CDAMxSN9WgovY7pE97yKxzlHFPbp6BrsP apUr5+xlUEdkr6DzKw+LVe418+ekevTYs+QmVKA2d66dNZo7jvQZIhvh91qa8Gu8gn8k 9pPGy4blP2jPpxDS2MQWZlMyvZIYrUeH3t5BA2NPqF9qSJKNX+ZSbqogAUZOvXzGJWDh FueQPaA1hqVIa9xB8P4UhM6Gd+adxua7VOsx5rtL27JnSGgMyyJ5JW91CuFDA4KWJYbt i4l5uEIXX+intMtHRfx8grUXV20J20Htwz0l+lhgXDKdF6gViz1gumfd9mI3QNbws3Bb awgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773079300; x=1773684100; 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=e5ipli13t1o4xLS734cGrlylkoQC1n3PL8/KZ9gjCPQ=; b=OZJDbm81/gM0caFbz9F0lZBMUd5stGTeAONQ6gWywfa8nZHkLUim724YwJ36NQDr9k eDu82sFbAqgU4cYu1Dx1P+BpVuHNrt44P5lY70PNvAkpF9kmueQjL0qI0hZjEIrL29RC U2y1wjugH2hqg81CvgACMa9O1IH1ZnVRV+1ukN/Nc7813Z0KUan5xwlrhOjCucAGjQeB eFzhwz370Dj1UXpfY+G2F2t2fiFEaEdEWjU0ANFAbVtTuIrQu/NGD6t3ZHsFZufr5E9l Unn5ltHhycO0855YkEhnDD8hD+0wvuInP3ZexsKgD7QHzYgkMGlxY1ALifBcuCwnQaU0 1kNg== X-Forwarded-Encrypted: i=1; AJvYcCU3F1Z8QRoWo5IArhG3ZZZixd7+BoZH9g+pqgQTLDLOnry+58hiVGIpajiPtMiVx/kEi3m0dN3j2CbYXuo=@vger.kernel.org X-Gm-Message-State: AOJu0YxdhuLPh7NHScc/PW2gvasFm0u/SW+wxVGs2IfHhlfPuOu7Mo4b TN6W2bxFnlRJpKmFai3NePeLJkwfBE/cY29Hp0gOr8BLcAaMYYvnh0TL X-Gm-Gg: ATEYQzzVtYrggqzsY3IdVrBQ4FSqefk6tSvdRB9nO6/3TATc8J00ucclt7qmkmLGKh+ /KP7maL+KHP6OaGtExiP9P/hcsZ7c1Nv1CEKldE91nUaLmM4Adhk7aHEMMT8G048MfHOO/hEWxa Ss+HKTE4uYPNb4BnnmIg8tQaH6HD0Yhh0Fx0/azvaoKTBOYNt9UvAEIvcjdCLqQeJmlyCvFu7i1 NRMkbUhN9pZLXhTo+hzVtQv0E9ll+wO+SDK3vz2fJBQkFHuwzhwCJd96D8JsRjAzHGkwEnHgPYG IGzYTJMsgH37p6BURZ33iV6nJCR+Gapbr+JavcQTsYgvTGdH7DoWvxDHhAjKWBmpEDoVnENfNrX 2Q1VNR1wtnWjbYLihuk28xLICrSLTdz47h4HB0NpnTXnciP0OHoQn5mqfzSsJ4gt02fB5q12Xxq 3Ctx9cUyHKY62dii/kMCmq9AyDceFZ05k05miIQ3AMjRj//rU= X-Received: by 2002:a17:902:e549:b0:2ae:6d9e:ed5a with SMTP id d9443c01a7336-2ae82439431mr111745765ad.13.1773079299326; Mon, 09 Mar 2026 11:01:39 -0700 (PDT) Received: from junjungu-PC.localdomain ([2408:820c:9009:3f2:a816:d74a:dc19:1ab8]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ae83e57b1fsm163828605ad.12.2026.03.09.11.01.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Mar 2026 11:01:38 -0700 (PDT) From: Felix Gu Date: Tue, 10 Mar 2026 02:01:34 +0800 Subject: [PATCH v2] spi: rockchip-sfc: Fix double-free in remove() callback 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: <20260310-sfc-v2-1-67fab04b097f@gmail.com> X-B4-Tracking: v=1; b=H4sIAP0Kr2kC/1WMyw7CIBBFf6WZtZiBRiiu/A/TRYWhncQ+AoZoG v5d7M7lubnn7JAoMiW4NjtEypx4XSqoUwNuGpaRBPvKoFBpbPEiUnCiRWOwI+udNlCfW6TA76N y7ytPnF5r/BzRLH/rv5+lkEKHR9A+IHXW3sZ54OfZrTP0pZQv5jq+npYAAAA= X-Change-ID: 20260305-sfc-307708e9dc67 To: Mark Brown , Heiko Stuebner , Jon Lin Cc: linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Felix Gu X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773079296; l=1288; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=maxlVA4oxzDMZWxd7ftlkv5zJkOpC9hH0WTm1wcE8xY=; b=fNA/SvWU8RLkVmDt2uPXlgA30FSBSbY7QUvh1H2Ow5wXz38XGvEZs8Vw6XrRUMUi1rV6Zv5HI iR762V88B/FCeskYwi/m6NmJ2m6uoE1uY7cO43K8C75RhUrG8Wr8isl X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= The driver uses devm_spi_register_controller() for registration, which automatically unregisters the controller via devm cleanup when the device is removed. The manual call to spi_unregister_controller() in the remove() callback can lead to a double-free. And to make sure controller is unregistered before DMA buffer is unmapped, switch to use spi_register_controller() in probe(). Fixes: 8011709906d0 ("spi: rockchip-sfc: Support pm ops") Signed-off-by: Felix Gu --- Changes in v2: - Fix Mark's comment. - Link to v1: https://lore.kernel.org/r/20260305-sfc-v1-1-6fbf6df0e899@gmai= l.com --- drivers/spi/spi-rockchip-sfc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/spi-rockchip-sfc.c b/drivers/spi/spi-rockchip-sfc.c index 2990bf85ee47..174995042f53 100644 --- a/drivers/spi/spi-rockchip-sfc.c +++ b/drivers/spi/spi-rockchip-sfc.c @@ -711,7 +711,7 @@ static int rockchip_sfc_probe(struct platform_device *p= dev) } } =20 - ret =3D devm_spi_register_controller(dev, host); + ret =3D spi_register_controller(host); if (ret) goto err_register; =20 --- base-commit: 3f9cd19e764b782706dbaacc69e502099cb014ba change-id: 20260305-sfc-307708e9dc67 Best regards, --=20 Felix Gu