From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (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 A0AD73FF8A8 for ; Thu, 12 Mar 2026 18:19:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773339597; cv=none; b=bawVncd2zckrmHxIOgPHo34lWOi8BmGqSi3IkLJo9oFt9YwOLfJBKJK+UbUJpvWdwwWkyHVimYMmktMykPo6nxFGSZeAoE9hE1b9ofRgCr8lFCgUQfR03MGUPsjt+2C7fo5/dodaNjzoRovRJcNZbkq4t8FK0fYMS6P1raai9zM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773339597; c=relaxed/simple; bh=BTIZ5GkZGuxNEx6hKbxVq4IOzIjPNJI341McWo3MeoM=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=R+1F5pRHpyFb5UBQAZGZMeNxWwUh/EALSvNRuv5oxlkA0uIboBLwycsxzyl/BerwP2OaqdjkHuU3ZMxE+KwsRnY418gpI2haJaaoV2gIz7RHqRvD2QPp4ozUX6dF0qpbTelHJwCpAeaDmAznIIpGWFu+JISGmquCqnfcF7eiH4g= 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=JyaKv9FK; arc=none smtp.client-ip=209.85.167.52 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="JyaKv9FK" Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-5a0ff30b240so1768689e87.0 for ; Thu, 12 Mar 2026 11:19:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773339589; x=1773944389; 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=BJeTY5HtximJl4H/EK6OxpSJa7GUKH2OzkM4yI7+cig=; b=JyaKv9FKj5lvDB8QI6b+QI0wjPjIcj9KQZs5qwUWzg97bahW4vw2C0ES6fX1UFUb6V HMgrgqlpQ7BniE3nV0ZRkFNcpdAkaPvyuVoe7QYdk43bLmPGmsoDJdQPRdqTm6JT98YJ lzo+vmk7I8XBxfRjs5Nnh5F8dm1rA59OR3L04teLn4pcFbHCQavHE4G9BFT2pgK9XGrS Nt7BxqHyHUl6iYVdqsc9fYtazr8iOIoawKxtfMOuxyE+0AKtIx5ZCJQTQbyV70i05JaI /bpvCpX3SyFs8PU0WVItnjx/ajjsN8tZZX/s7BGtJrWDowDhS6zfhK2aylDoYU6edOCe uAlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773339589; x=1773944389; 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=BJeTY5HtximJl4H/EK6OxpSJa7GUKH2OzkM4yI7+cig=; b=ro5HXwBZyYJpkKSeejmIIzzaJ8+2KYFLNUUEk8yc6NvFRg30PCPVbARH7aloG9ppUL z23gAvkj5+NIPxvHz5RInXpmqw/3kBUMSCKVSx3nUhLfYSB5v1DcqCa9cY07YNvv7JH8 HJBG3tNgfvRlYFims5fw5i4KPLvwnDxRKVHh1jFmH+xKR/BZTEirBsc3GxSvJJvnMOvR jUCR7RMFUT7G7Z8nwQSziKCevL50SpOtLUYlU+8DHpWpZe8cmECR2K++SlcYpIh6+h8p hx44NWDqIIFMZ1iPjy2lsnxl8UASn9qrtiq45eNg2XdTSPfpArqNSevBAh3tSM5gayWl HskA== X-Forwarded-Encrypted: i=1; AJvYcCVvKAHXyP+2N5+OkMYEhSQLRYBaUmR2qur1b1+VzWBXRKd/oMZp1NQGrUbz78tDzrKJE//1ERwvh4m50wI=@vger.kernel.org X-Gm-Message-State: AOJu0YxuwkJdSc/1ZuZzeFnOl5B2JlegWCs5C7ElkhXoCwPIQRAfTuXv ZtNLiHplCGI2MujJ6Odj/pdTByA/4isYx8dDmz0zNY631AlGt2QmkLt6 X-Gm-Gg: ATEYQzxhM9Qq5Nf54t6nyGBvikwGauVu/QMK4K7nxaPgArE6MMHmHPm/05qMydLDXev K7S6IHqvcX9eLxEJN6MVR3zoYr/EISbWKxnVeEqKwRtd2xV8CkC1kiGiR5GcpFm/M4BBGZK6FRN 43fFLM+TvHd/jSCZhoF60fAt0gaUOyBPRgP0K1QME/xzCC/gy2f2lY8G4F/pbvLUvBfvqpDZNOq CQsQVduYyQ12nwdHhfxUUtMrx5VmfFP4QZ720qA6rkHoNf6WybVBHpk9dCZi085vFzJqaWeUTir p9NfCmQM2LKfnE9tvu1mr4PSg/tkhgRuzuF8Ip5WJ+E6PBO5AhVkEYx5KZb7qQKddKWQSe17vlX 61poopVQvJz00ZJHpAFGjbGTwKLSx0fMSI/c38v0+eOX2PPou1IuZ5RUL53ys8LPt2wkgYSHN7y 0ppagbtq9nAyAnine+Vg6+D4j8V/mM5WZZ1Tb6HFuIO4vej0JcrKVgixM3i7L2dRlyC6O9SON7a L8WqICIyA== X-Received: by 2002:a05:6512:158f:b0:5a1:27e9:3472 with SMTP id 2adb3069b0e04-5a1626a318amr226128e87.0.1773339589089; Thu, 12 Mar 2026 11:19:49 -0700 (PDT) Received: from ubuntu.. (static.159.107.27.37.clients.your-server.de. [37.27.107.159]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a15602e7d9sm1085336e87.35.2026.03.12.11.19.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 11:19:48 -0700 (PDT) From: Josh Law X-Google-Original-From: Josh Law To: Matthew Wilcox , Andrew Morton Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Josh Law Subject: [PATCH v3 0/2] lib/idr: Fixes for infinite loop and memory leak Date: Thu, 12 Mar 2026 18:19:46 +0000 Message-Id: <20260312181948.20020-1-objecting@objecting.org> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This series includes two fixes for the IDR and IDA APIs, along with their corresponding test cases as requested by reviewers. 1. Fix an infinite loop condition in idr_get_next() that occurs when iterating over an ID > INT_MAX. 2. Fix a memory leak in ida_alloc_range() where an intermediate allocated bitmap is not freed if a subsequent XArray insertion fails. Both fixes update tools/testing/radix-tree/idr-test.c to ensure the error paths are covered by the test suite. Changes since v2: - Added `idr-test.c` updates to both commits to formally test the fix conditions. Josh Law (2): lib/idr: fix infinite loop in idr_get_next() lib/idr: fix memory leak in ida_alloc_range() error path lib/idr.c | 4 +++- tools/testing/radix-tree/idr-test.c | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) -- 2.34.1