From nobody Sun Feb 8 06:22:10 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 E0876189F30 for ; Sat, 31 Jan 2026 00:09:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769818187; cv=none; b=uaWKCSSqCkOZ5ALzxVwGciopcagQJ4RHnhWCW7SVjhzXLnvJBggX+LCygRLcjobfFxiJOfI5W3fpxdyUBdRL20MIVwe0phnV0NULjUqiIHNT7kp7YcDRAPWNIZBhyE8hdoQnSCVDNVbJdXE9JfGL6FRPA49DLTzp5mA1oYypQgs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769818187; c=relaxed/simple; bh=BABPqIegGw1M1x1cIf7g82ZdUgSt6Gg8si8SJcXJ52o=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=RFPZ6xYixMEih4dmsWOBdkM6CKpIDMvQj4vNpr4VPTpDhm3vSE7CWD1EZBbwGzESD82Uv7cJeHWMHzbGM2jT/q8zGEA9o4yYYG9Dgo7OytZZYi3ybgpcn46AMV8wMOL7K57e0V0L82LEdlCenWEgKabIemBefN6+B4YA8knReGo= 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=SOZZsA1k; arc=none smtp.client-ip=209.85.128.47 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="SOZZsA1k" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4801eb2c0a5so24932285e9.3 for ; Fri, 30 Jan 2026 16:09:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769818184; x=1770422984; 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=bvS+3cJ/XGNCOT2BgtSdv6YJD9aNN+H/BEiGpUrPdsY=; b=SOZZsA1kLqwTsOAJ+w1IMSbQQPRC4S2XMKvaiDhrcAOcKjYh+a5CwYu5uJ8+80FZRa R49aaUyQsmSd8+VhK5rZLTZBXgJLn0nFRwtl8egHY6REN05EXrqB7d9xq6uOj3fRgv6q IVeQxxYeqxGqmPe65LoNGh/pg6/auP+c5/iPRb4AhuIMag3LuGGLqcyLmmTluSZxlKto vCUO6X5iLMuuoGfLmiQZyJv4AYH6xjo8NDxu8QM22qLwL9pne6BF1GA5kw/wvunvlAMz eyrL+4KG79SgYlz5q1izF0aHPqus/VQYmVKDHE41EGVuAgV73imXz9P6oiTBbLVj+aJL vvcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769818184; x=1770422984; 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=bvS+3cJ/XGNCOT2BgtSdv6YJD9aNN+H/BEiGpUrPdsY=; b=coqf+RjVw2A21rbmKzptHg18aG0a+cXklDGnHHfNOHFNRVfPwL8P2OTgGOTZIp6DI2 JMTqj8/cci98Qqkz6SeDRFFqGqxxjpR+qojCb4shxSC/NVqQHa8ofWhkxJM4iGMGDUuV AJOdu05RldNn16qHSjnjExWRiWIfb99jf9n8KhKgVG3J3iI9txG2k0l3+i8In68HmIJ9 iljji0eYJhZdDVE5/JZIAEazVeI0H/kxV13JNP1XG+zpDs7HNF/uldELZmt3LPmrnY95 MpseuXxZrCeuXh6AIeC5bM4ry/5i3YsqzylPUMKeAOJGqltfJbC//Gjf6Goq4qa6NF2w iJOw== X-Forwarded-Encrypted: i=1; AJvYcCUNTilnrfcyrjpxtfoSo4PHuMOzSJfkQwcTrolPJ1E3YXHBJle/RuraMCKjip6OMmTNVkwXLOwxxtuxjsA=@vger.kernel.org X-Gm-Message-State: AOJu0YzKhd7wDsUE2mQpxro2gKRnkSH26rDqo7OehECgNZ2NPKLbCASi SGbtI7obn1KLqzTs73SUWOeN3g1mBezD0UG3uCQKqqNl15pUVMZIjua7 X-Gm-Gg: AZuq6aIgwPmkcN5bNyia50fwuBg7KrEDMc1W1+nf/GxKpkGhWZNB1RdcoNDbPozsyvI m875jpWSHwyE+VfeWe+8BbbPdvr79Xg/7IvnF6f/uh9i4qHDylUJ4vJ44E8NPt74WnwSF7lIlqx K890ieOFi1y6etdrZA3fpMsllr9xu+OpxV4Tp3kqI78JrAjtc/LWjj3/w8lbOwdMOdeWtrZcgkL S02udLg9P3qRrGFA91OhIelOceOrNQMVe+4aI1N+upqlfO42s5jkHy2lHArNbp9j8AixVVopnuR AcDpAQPHZQONjdtwnuPd6K8pZDPzZ4jkSlfhvqYQhY32Eq5E2pZPsS8+aeWlqUoquupZX/MZssD KaK4ztsD6zFm65v/sL4Wadka7wWTjp3xGl7MO8Uvx+SqPPUU4uZtNkKqOCxdSrMERtbsM+8mgXN 7xCPpSCR08Nhnpyo399ZhMFOjfgQ== X-Received: by 2002:a05:600c:474a:b0:46e:35a0:3587 with SMTP id 5b1f17b1804b1-482db48e828mr55477635e9.27.1769818184011; Fri, 30 Jan 2026 16:09:44 -0800 (PST) Received: from localhost.localdomain ([196.235.250.51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435e131cf16sm26386004f8f.22.2026.01.30.16.09.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Jan 2026 16:09:42 -0800 (PST) From: Salah Triki To: Trond Myklebust , Anna Schumaker Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Salah Triki Subject: [PATCH] nfs: fix memory leak in nfs_sysfs_init if kset_register fails Date: Sat, 31 Jan 2026 01:09:37 +0100 Message-ID: <20260131000937.229276-1-salah.triki@gmail.com> 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" When `kset_register()` fails, it does not clean up the underlying kobject. Calling `kfree()` directly is incorrect because the kobject within the kset has already been initialized, and its internal resources or reference counting must be handled properly. As stated in the kobject documentation, once a kobject is registered (or even just initialized), you must use `kobject_put()` instead of `kfree()` to let the reference counting mechanism perform the cleanup via the ktype's release callback. This patch replaces the incorrect `kfree()` with `kobject_put()` in the error path of `nfs_sysfs_init()`. Fixes: 943aef2dbcf75 ("NFS: Open-code the nfs_kset kset_create_and_add()") Signed-off-by: Salah Triki --- fs/nfs/sysfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/nfs/sysfs.c b/fs/nfs/sysfs.c index ea6e6168092b..6e39cd69ed44 100644 --- a/fs/nfs/sysfs.c +++ b/fs/nfs/sysfs.c @@ -59,7 +59,7 @@ int nfs_sysfs_init(void) =20 ret =3D kset_register(nfs_kset); if (ret) { - kfree(nfs_kset); + kset_put(nfs_kset); return ret; } =20 --=20 2.43.0