From nobody Tue Feb 10 16:26:36 2026 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) (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 848A4279792 for ; Tue, 2 Dec 2025 19:12:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764702782; cv=none; b=uAJcnO/x68i+n8Ro5+34ESAnuFOc4TGhvx4n6qzAoO1OHI3CxKaAg6T5TO2LXimWaJi6QcB/x/vJAZZRgWtXowtkF+70re4LuIpBebZIiGLlM+0FLg9OUlxoqHbZPFU9/n9DRTXlJh81nY58RYk/jYOMWsR5C+M6UXHGkKjOGbY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764702782; c=relaxed/simple; bh=aJqxN26iyh01OpmUFHeP8iQ6CzvehWVKu4DKcNMn5U0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=YkFLSOD+3+kh3G4HJPg58x4IRsEbkqrWbHr8CNnPzdH8XZ1fpV5PRdUa7w9uPAIa8Oic7X7Jysj4WfS3AnoTBwrnMMnVIq/0p+gxX5i1M/KrQbqqPnULbtaoQlzcmSkeigsaI+aX5eySSxFilt+FbeVcCjxqnlbzY9U5vRQSpIk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cse.iitm.ac.in; spf=pass smtp.mailfrom=cse.iitm.ac.in; dkim=pass (2048-bit key) header.d=cse-iitm-ac-in.20230601.gappssmtp.com header.i=@cse-iitm-ac-in.20230601.gappssmtp.com header.b=UxHsvoYZ; arc=none smtp.client-ip=209.85.210.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=cse.iitm.ac.in Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=cse.iitm.ac.in Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cse-iitm-ac-in.20230601.gappssmtp.com header.i=@cse-iitm-ac-in.20230601.gappssmtp.com header.b="UxHsvoYZ" Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-7b86e0d9615so7000912b3a.0 for ; Tue, 02 Dec 2025 11:12:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cse-iitm-ac-in.20230601.gappssmtp.com; s=20230601; t=1764702778; x=1765307578; 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; bh=PoDvJkziLciYTaasrjPuBKQQWe6VunhAtZWNX1bE3Xc=; b=UxHsvoYZM7IHwNIcZuKFTdo4yEFaaiXQHA47lrcPleW3aiax3+ka0q9vYPIaX0ea5r OvMa462myGvLMIGdXeCw4rjZTcz3Nso9kaeCK1wlWOR0+uX3xePlD2Kc3O7wIalN8chj rlbOMSBn+x78IZ/onzIQWBHHuDoZZ/VHHl+NioBgq+1FRTfH+/2bGMDNAgPTNrSssoen mi6ULZdQAF4SLM1QRNCn1zGLcVostcfoiHk9ROITSFK6TpwjKZ/xeKTvNruxAk2Pqwet YrIyg7XfoLErUj48MSea/xat1zV/E1uYo+xC/kGpgHnczLEJFtVhx9tmMTtwP98ibuxr XlOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764702778; x=1765307578; 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; bh=PoDvJkziLciYTaasrjPuBKQQWe6VunhAtZWNX1bE3Xc=; b=xKzosAJMrSR4DnYy+TakONuu/BvzKIW3YmKJLNthEy0f2zfchQRHGuDUi4M+Tb2K5Y B3N3SykxCXJOnoHNarMddwaZKXWB4neu0HVW83OTmveAUXiMdvjPSFBCviwAeDNyfbQp 9R27ARfuUYApSpZRht2FvGZQBJCr8RMTiIjXw83jOWGS91BCmRIPMvH7TE0NMCqsUUKP KR59petmYSskS2OWi+rmJ9Hq23OTBxCqDoOCtUe/nNbna5E2buGipjIB7pLmufsJPOX8 q4JDOydcCqzS7PjFICCUgl3/DkQVRolQmdpyjZEWfl3xXyosE5rMG53Ns112H23le/x5 +eJw== X-Forwarded-Encrypted: i=1; AJvYcCUnl24SwwiVMVQ0L/AzYZGOXIOLmdTwOMIAPwqrv2YqKsu2/qGNEe8As02NSNW2u9lo0WIu5iz7xjt1/+M=@vger.kernel.org X-Gm-Message-State: AOJu0YzOGi63gsDlIy7oSIW6b+NZIdEMDhVR7h92s3EFGI6Ioc3BAqas zaCnvDvn0O4fjVIL5trd8LqQZyCxJRb+Z9uD7i2NMlO7aymOSZF/H47Dx9ypJ/Kj36I= X-Gm-Gg: ASbGncvYaJnS4rAU4vCR5xd4Fv6ljAv+4xgIksjT2z4rUMmZTuMot6rJcJZOTfsQPNh MjPu8uMTwURBMvYStDa+gbVzboQ7XqrpcjHCQON2EW2akB911ADKo2+4e1I7Vnt1kLpsJTl5+t+ ESiPPKIcEh+w9Qzrd9KndiEx6OW2LqUcWLROY4MFfrkYbUZHLTDeXHFgDq4Au9GKdSUAZtNUDMX c4AJXejCqFAJyO0LKsCr/gzztZUIfSoS29kINOwdxGahoHHBoBolrC4LFdKystNJllFQzKHojuO xg/4pfCijt7sWZHCjyi2bRvuM3DXaNFFvomxBzsdFZwTyKoCCkZ9w+ByEdsxdXNCF6tSJAM9kzI yp14XjJb5ukrsoMrrcVNJkE07+7JM47TxnzJp9kKPK4SzGgalKwQjuQSBnklyNL3iV0S5/kOhGA TGlflitKWkT3UeFhq/XluCBK1h X-Google-Smtp-Source: AGHT+IGHE284hn7+9senBlcCjJEc3rGRR9ZhVxdNo/lvuyqVWFH3WIFqOw9lMAheJoHvJpVQbmA5cg== X-Received: by 2002:a05:6a20:9389:b0:35d:8881:e6c6 with SMTP id adf61e73a8af0-3614eb0ff86mr49211981637.19.1764702777406; Tue, 02 Dec 2025 11:12:57 -0800 (PST) Received: from localhost.localdomain ([49.37.219.248]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-be4fb248be1sm16064567a12.3.2025.12.02.11.12.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Dec 2025 11:12:56 -0800 (PST) From: Abdun Nihaal To: deller@gmx.de Cc: Abdun Nihaal , niederp@physik.uni-kl.de, maxime.ripard@free-electrons.com, tomi.valkeinen@ti.com, linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] fbdev: ssd1307fb: fix potential page leak in ssd1307fb_probe() Date: Wed, 3 Dec 2025 00:42:22 +0530 Message-ID: <20251202191225.111661-1-nihaal@cse.iitm.ac.in> 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: quoted-printable Content-Type: text/plain; charset="utf-8" The page allocated for vmem using __get_free_pages() is not freed on the error paths after it. Fix that by adding a corresponding __free_pages() call to the error path. Fixes: facd94bc458a ("fbdev: ssd1307fb: Allocate page aligned video memory.= ") Signed-off-by: Abdun Nihaal --- Compile tested only. Not tested on hardware. drivers/video/fbdev/ssd1307fb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307f= b.c index aa6cc0a8151a..66da8a1a0941 100644 --- a/drivers/video/fbdev/ssd1307fb.c +++ b/drivers/video/fbdev/ssd1307fb.c @@ -680,7 +680,7 @@ static int ssd1307fb_probe(struct i2c_client *client) if (!ssd1307fb_defio) { dev_err(dev, "Couldn't allocate deferred io.\n"); ret =3D -ENOMEM; - goto fb_alloc_error; + goto fb_defio_error; } =20 ssd1307fb_defio->delay =3D HZ / refreshrate; @@ -757,6 +757,8 @@ static int ssd1307fb_probe(struct i2c_client *client) regulator_disable(par->vbat_reg); reset_oled_error: fb_deferred_io_cleanup(info); +fb_defio_error: + __free_pages(__va(info->fix.smem_start), get_order(info->fix.smem_len)); fb_alloc_error: framebuffer_release(info); return ret; --=20 2.43.0