* [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf
@ 2023-08-29 16:52 Manas Ghandat
2023-08-29 18:38 ` Dave Kleikamp
0 siblings, 1 reply; 9+ messages in thread
From: Manas Ghandat @ 2023-08-29 16:52 UTC (permalink / raw)
To: shaggy, liushixin2
Cc: Manas Ghandat, linux-kernel, jfs-discussion,
Linux-kernel-mentees, syzbot+aea1ad91e854d0a83e04
Currently while searching for dmtree_t for sufficient free blocks there
is an array out of bounds while getting element in tp->dm_stree. Added
the required bound check.
Ps: After I added the check I am getting the following log
[ 22.661748][ T4425] ERROR: (device loop0): dbAllocAny: unable to allocate blocks
[ 22.661748][ T4425]
[ 22.665536][ T4425] ERROR: (device loop0): remounting filesystem as read-only
[ 22.667856][ T4425] jfs_mkdir: dtInsert returned -EIO
[ 22.669750][ T4425] ERROR: (device loop0): txAbort:
I was wondering if these checks are significant of not?
Signed-off-by: Manas Ghandat <ghandatmanas@gmail.com>
Reported-by: syzbot+aea1ad91e854d0a83e04@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=aea1ad91e854d0a83e04
---
fs/jfs/jfs_dmap.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
index a14a0f18a4c4..5af17b2287be 100644
--- a/fs/jfs/jfs_dmap.c
+++ b/fs/jfs/jfs_dmap.c
@@ -2948,6 +2948,10 @@ static int dbFindLeaf(dmtree_t * tp, int l2nb, int *leafidx)
/* sufficient free space found. move to the next
* level (or quit if this is the last level).
*/
+
+ if (x + n > TREESIZE)
+ return -ENOSPC;
+
if (l2nb <= tp->dmt_stree[x + n])
break;
}
--
2.37.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf
2023-08-29 16:52 [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf Manas Ghandat
@ 2023-08-29 18:38 ` Dave Kleikamp
2023-08-31 15:19 ` Manas Ghandat
0 siblings, 1 reply; 9+ messages in thread
From: Dave Kleikamp @ 2023-08-29 18:38 UTC (permalink / raw)
To: Manas Ghandat, shaggy, liushixin2
Cc: linux-kernel, jfs-discussion, Linux-kernel-mentees,
syzbot+aea1ad91e854d0a83e04
On 8/29/23 11:52AM, Manas Ghandat wrote:
> Currently while searching for dmtree_t for sufficient free blocks there
> is an array out of bounds while getting element in tp->dm_stree. Added
> the required bound check.
>
> Ps: After I added the check I am getting the following log
>
> [ 22.661748][ T4425] ERROR: (device loop0): dbAllocAny: unable to allocate blocks
> [ 22.661748][ T4425]
> [ 22.665536][ T4425] ERROR: (device loop0): remounting filesystem as read-only
> [ 22.667856][ T4425] jfs_mkdir: dtInsert returned -EIO
> [ 22.669750][ T4425] ERROR: (device loop0): txAbort:
>
> I was wondering if these checks are significant of not?
This won't work. dbFindLeaf() can be called from dbFindCtl() with struct
dmapctl whose stree index can be as high as CTLTREESIZE which is larger
than TREESIZE. A check against CTLTREESIZE might be better than nothing
at all but won't necessarily detect an overflow. Currently, dbFindLeaf
doesn't have anything to tell it which tree it is working on.
We could pass in the treesize as an argument to dbFindCtl() if we can't
come up with something simpler.
Shaggy
>
> Signed-off-by: Manas Ghandat <ghandatmanas@gmail.com>
> Reported-by: syzbot+aea1ad91e854d0a83e04@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=aea1ad91e854d0a83e04
> ---
> fs/jfs/jfs_dmap.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
> index a14a0f18a4c4..5af17b2287be 100644
> --- a/fs/jfs/jfs_dmap.c
> +++ b/fs/jfs/jfs_dmap.c
> @@ -2948,6 +2948,10 @@ static int dbFindLeaf(dmtree_t * tp, int l2nb, int *leafidx)
> /* sufficient free space found. move to the next
> * level (or quit if this is the last level).
> */
> +
> + if (x + n > TREESIZE)
> + return -ENOSPC;
> +
> if (l2nb <= tp->dmt_stree[x + n])
> break;
> }
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf
2023-08-29 18:38 ` Dave Kleikamp
@ 2023-08-31 15:19 ` Manas Ghandat
2023-09-01 17:08 ` Dave Kleikamp
0 siblings, 1 reply; 9+ messages in thread
From: Manas Ghandat @ 2023-08-31 15:19 UTC (permalink / raw)
To: Dave Kleikamp, shaggy, liushixin2
Cc: linux-kernel, jfs-discussion, Linux-kernel-mentees,
syzbot+aea1ad91e854d0a83e04
I was wondering if we could implement a get_tree_size macro wherein we
could find the tree size so that we can do the comparison. SInce the
tp->dmt_stree is an array we can get its size and fix the out of bounds.
Would this thing work?
On 30/08/23 00:08, Dave Kleikamp wrote:
> This won't work. dbFindLeaf() can be called from dbFindCtl() with
> struct dmapctl whose stree index can be as high as CTLTREESIZE which
> is larger than TREESIZE. A check against CTLTREESIZE might be better
> than nothing at all but won't necessarily detect an overflow.
> Currently, dbFindLeaf doesn't have anything to tell it which tree it
> is working on.
>
> We could pass in the treesize as an argument to dbFindCtl() if we
> can't come up with something simpler.
>
> Shaggy
>
>>
>> Signed-off-by: Manas Ghandat <ghandatmanas@gmail.com>
>> Reported-by: syzbot+aea1ad91e854d0a83e04@syzkaller.appspotmail.com
>> Closes: https://syzkaller.appspot.com/bug?extid=aea1ad91e854d0a83e04
>> ---
>> fs/jfs/jfs_dmap.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
>> index a14a0f18a4c4..5af17b2287be 100644
>> --- a/fs/jfs/jfs_dmap.c
>> +++ b/fs/jfs/jfs_dmap.c
>> @@ -2948,6 +2948,10 @@ static int dbFindLeaf(dmtree_t * tp, int l2nb,
>> int *leafidx)
>> /* sufficient free space found. move to the next
>> * level (or quit if this is the last level).
>> */
>> +
>> + if (x + n > TREESIZE)
>> + return -ENOSPC;
>> +
>> if (l2nb <= tp->dmt_stree[x + n])
>> break;
>> }
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf
2023-08-31 15:19 ` Manas Ghandat
@ 2023-09-01 17:08 ` Dave Kleikamp
2023-09-02 17:45 ` Manas Ghandat
0 siblings, 1 reply; 9+ messages in thread
From: Dave Kleikamp @ 2023-09-01 17:08 UTC (permalink / raw)
To: Manas Ghandat, shaggy, liushixin2
Cc: linux-kernel, jfs-discussion, Linux-kernel-mentees,
syzbot+aea1ad91e854d0a83e04
On 8/31/23 10:19AM, Manas Ghandat wrote:
> I was wondering if we could implement a get_tree_size macro wherein we
> could find the tree size so that we can do the comparison. SInce the
> tp->dmt_stree is an array we can get its size and fix the out of bounds.
> Would this thing work?
dmtree_t is a union of two nearly identical structures that both contain
an stree. The only real difference in the structures is the size of the
stree, so dbFindLeaf doesn't really know which is being used by the caller.
>
> On 30/08/23 00:08, Dave Kleikamp wrote:
>> This won't work. dbFindLeaf() can be called from dbFindCtl() with
>> struct dmapctl whose stree index can be as high as CTLTREESIZE which
>> is larger than TREESIZE. A check against CTLTREESIZE might be better
>> than nothing at all but won't necessarily detect an overflow.
>> Currently, dbFindLeaf doesn't have anything to tell it which tree it
>> is working on.
>>
>> We could pass in the treesize as an argument to dbFindCtl() if we
>> can't come up with something simpler.
>>
>> Shaggy
>>
>>>
>>> Signed-off-by: Manas Ghandat <ghandatmanas@gmail.com>
>>> Reported-by: syzbot+aea1ad91e854d0a83e04@syzkaller.appspotmail.com
>>> Closes: https://syzkaller.appspot.com/bug?extid=aea1ad91e854d0a83e04
>>> ---
>>> fs/jfs/jfs_dmap.c | 4 ++++
>>> 1 file changed, 4 insertions(+)
>>>
>>> diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
>>> index a14a0f18a4c4..5af17b2287be 100644
>>> --- a/fs/jfs/jfs_dmap.c
>>> +++ b/fs/jfs/jfs_dmap.c
>>> @@ -2948,6 +2948,10 @@ static int dbFindLeaf(dmtree_t * tp, int l2nb,
>>> int *leafidx)
>>> /* sufficient free space found. move to the next
>>> * level (or quit if this is the last level).
>>> */
>>> +
>>> + if (x + n > TREESIZE)
>>> + return -ENOSPC;
>>> +
>>> if (l2nb <= tp->dmt_stree[x + n])
>>> break;
>>> }
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf
2023-09-01 17:08 ` Dave Kleikamp
@ 2023-09-02 17:45 ` Manas Ghandat
2023-09-03 21:45 ` Dave Kleikamp
0 siblings, 1 reply; 9+ messages in thread
From: Manas Ghandat @ 2023-09-02 17:45 UTC (permalink / raw)
To: Dave Kleikamp, shaggy, liushixin2
Cc: linux-kernel, jfs-discussion, Linux-kernel-mentees,
syzbot+aea1ad91e854d0a83e04
Actually I was talking about the stree attribute of dmtree which is
present in both dmaptree and dmapctl.
Link : https://elixir.bootlin.com/linux/v6.5.1/source/fs/jfs/jfs_dmap.h#L168
Since it is an array we can add a check for the size of array like the
code below.
+ if (x + n > (sizeof(tp->dmt_stree)/sizeof(s8)))
+ return -ENOSPC;
On 01/09/23 22:38, Dave Kleikamp wrote:
> On 8/31/23 10:19AM, Manas Ghandat wrote:
>> I was wondering if we could implement a get_tree_size macro wherein
>> we could find the tree size so that we can do the comparison. SInce
>> the tp->dmt_stree is an array we can get its size and fix the out of
>> bounds. Would this thing work?
>
> dmtree_t is a union of two nearly identical structures that both
> contain an stree. The only real difference in the structures is the
> size of the stree, so dbFindLeaf doesn't really know which is being
> used by the caller.
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf
2023-09-02 17:45 ` Manas Ghandat
@ 2023-09-03 21:45 ` Dave Kleikamp
0 siblings, 0 replies; 9+ messages in thread
From: Dave Kleikamp @ 2023-09-03 21:45 UTC (permalink / raw)
To: Manas Ghandat, shaggy, liushixin2
Cc: linux-kernel, jfs-discussion, Linux-kernel-mentees,
syzbot+aea1ad91e854d0a83e04
On 9/2/23 12:45PM, Manas Ghandat wrote:
> Actually I was talking about the stree attribute of dmtree which is
> present in both dmaptree and dmapctl.
>
> Link :
> https://elixir.bootlin.com/linux/v6.5.1/source/fs/jfs/jfs_dmap.h#L168
>
> Since it is an array we can add a check for the size of array like the
> code below.
>
>
> + if (x + n > (sizeof(tp->dmt_stree)/sizeof(s8)))
> + return -ENOSPC;
That will always evaluate to the same thing (the size of stree in
dmapctl). It would be valid, since that is the larger number, but it
wouldn't catch all overflows of dmaptree's stree.
>
> On 01/09/23 22:38, Dave Kleikamp wrote:
>> On 8/31/23 10:19AM, Manas Ghandat wrote:
>>> I was wondering if we could implement a get_tree_size macro wherein
>>> we could find the tree size so that we can do the comparison. SInce
>>> the tp->dmt_stree is an array we can get its size and fix the out of
>>> bounds. Would this thing work?
>>
>> dmtree_t is a union of two nearly identical structures that both
>> contain an stree. The only real difference in the structures is the
>> size of the stree, so dbFindLeaf doesn't really know which is being
>> used by the caller.
>>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf
@ 2026-02-04 9:22 syzbot
2026-02-23 14:36 ` Dmitry Vyukov
0 siblings, 1 reply; 9+ messages in thread
From: syzbot @ 2026-02-04 9:22 UTC (permalink / raw)
To: jfs-discussion, shaggy, ghandatmanas
Cc: syzbot, Dmitry Vyukov, syzbot+1afe7ef2d0062e19eeb3, linux-kernel, stable
UBSAN reported an array-index-out-of-bounds issue in dbFindLeaf:
index 1365 is out of range for type 's8[1365]' (aka 'signed char[1365]')
CPU: 0 UID: 0 PID: 6287 Comm: syz-executor268 Not tainted ...
Call Trace:
...
__ubsan_handle_out_of_bounds+0x115/0x140 lib/ubsan.c:455
dbFindLeaf+0x308/0x520 fs/jfs/jfs_dmap.c:2976
dbFindCtl+0x267/0x520 fs/jfs/jfs_dmap.c:1717
...
The issue is caused by an off-by-one error in the bounds check within
dbFindLeaf. The function traverses the dmap tree to find free blocks.
It uses a loop to iterate through the levels of the tree, calculating
the index `x + n` to access the `tp->dmt_stree` array. The variable
`max_size` represents the size of this array (CTLTREESIZE (1365) for
dmapctl or TREESIZE (341) for dmaptree).
The bounds check `if (x + n > max_size)` allows `x + n` to be equal to
`max_size`. However, since the array size is `max_size`, the valid
indices are `0` to `max_size - 1`. Accessing `tp->dmt_stree[max_size]`
results in an array-index-out-of-bounds access.
This can occur when the `dmt_height` field in the on-disk structure is
corrupted or fuzzed to be larger than the fixed height supported by the
`dmt_stree` array.
Fix this by changing the condition to `>=` to correctly reject indices
equal to or greater than the array size.
Signed-off-by: syzbot@kernel.org
Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Fixes: 22cad8bc1d36 ("jfs: fix array-index-out-of-bounds in dbFindLeaf")
Reported-by: syzbot+1afe7ef2d0062e19eeb3@syzkaller.appspotmail.com
To: <jfs-discussion@lists.sourceforge.net>
To: "Dave Kleikamp" <shaggy@kernel.org>
To: "Manas Ghandat" <ghandatmanas@gmail.com>
Cc: <linux-kernel@vger.kernel.org>
Cc: <stable@vger.kernel.org>
---
This patch was generated by Google Gemini LLM model.
It was pre-reviewed and Signed-off-by a human, but please review carefully.
Gerrit code review with full side-by-side diffs:
https://linux-review.git.corp.google.com/c/linux/kernel/git/torvalds/linux/+/26122
Change-Id: I92f694e86518349eafa132b2ba314d8dfff6c86e
---
diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
index cdfa699..18a7dc5 100644
--- a/fs/jfs/jfs_dmap.c
+++ b/fs/jfs/jfs_dmap.c
@@ -2971,7 +2971,7 @@ static int dbFindLeaf(dmtree_t *tp, int l2nb, int *leafidx, bool is_ctl)
/* sufficient free space found. move to the next
* level (or quit if this is the last level).
*/
- if (x + n > max_size)
+ if (x + n >= max_size)
return -ENOSPC;
if (l2nb <= tp->dmt_stree[x + n])
break;
base-commit: 63804fed149a6750ffd28610c5c1c98cce6bd377
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf
2026-02-04 9:22 syzbot
@ 2026-02-23 14:36 ` Dmitry Vyukov
2026-03-02 17:50 ` Dave Kleikamp
0 siblings, 1 reply; 9+ messages in thread
From: Dmitry Vyukov @ 2026-02-23 14:36 UTC (permalink / raw)
To: syzbot
Cc: jfs-discussion, shaggy, ghandatmanas,
syzbot+1afe7ef2d0062e19eeb3, linux-kernel, stable
On Wed, 4 Feb 2026 at 10:23, syzbot <syzbot@kernel.org> wrote:
>
> UBSAN reported an array-index-out-of-bounds issue in dbFindLeaf:
>
> index 1365 is out of range for type 's8[1365]' (aka 'signed char[1365]')
> CPU: 0 UID: 0 PID: 6287 Comm: syz-executor268 Not tainted ...
> Call Trace:
> ...
> __ubsan_handle_out_of_bounds+0x115/0x140 lib/ubsan.c:455
> dbFindLeaf+0x308/0x520 fs/jfs/jfs_dmap.c:2976
> dbFindCtl+0x267/0x520 fs/jfs/jfs_dmap.c:1717
> ...
>
> The issue is caused by an off-by-one error in the bounds check within
> dbFindLeaf. The function traverses the dmap tree to find free blocks.
> It uses a loop to iterate through the levels of the tree, calculating
> the index `x + n` to access the `tp->dmt_stree` array. The variable
> `max_size` represents the size of this array (CTLTREESIZE (1365) for
> dmapctl or TREESIZE (341) for dmaptree).
>
> The bounds check `if (x + n > max_size)` allows `x + n` to be equal to
> `max_size`. However, since the array size is `max_size`, the valid
> indices are `0` to `max_size - 1`. Accessing `tp->dmt_stree[max_size]`
> results in an array-index-out-of-bounds access.
>
> This can occur when the `dmt_height` field in the on-disk structure is
> corrupted or fuzzed to be larger than the fixed height supported by the
> `dmt_stree` array.
>
> Fix this by changing the condition to `>=` to correctly reject indices
> equal to or greater than the array size.
>
> Signed-off-by: syzbot@kernel.org
> Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
> Fixes: 22cad8bc1d36 ("jfs: fix array-index-out-of-bounds in dbFindLeaf")
> Reported-by: syzbot+1afe7ef2d0062e19eeb3@syzkaller.appspotmail.com
> To: <jfs-discussion@lists.sourceforge.net>
> To: "Dave Kleikamp" <shaggy@kernel.org>
> To: "Manas Ghandat" <ghandatmanas@gmail.com>
> Cc: <linux-kernel@vger.kernel.org>
> Cc: <stable@vger.kernel.org>
> ---
> This patch was generated by Google Gemini LLM model.
> It was pre-reviewed and Signed-off-by a human, but please review carefully.
>
> Gerrit code review with full side-by-side diffs:
> https://linux-review.git.corp.google.com/c/linux/kernel/git/torvalds/linux/+/26122
>
> Change-Id: I92f694e86518349eafa132b2ba314d8dfff6c86e
> ---
>
> diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
> index cdfa699..18a7dc5 100644
> --- a/fs/jfs/jfs_dmap.c
> +++ b/fs/jfs/jfs_dmap.c
> @@ -2971,7 +2971,7 @@ static int dbFindLeaf(dmtree_t *tp, int l2nb, int *leafidx, bool is_ctl)
> /* sufficient free space found. move to the next
> * level (or quit if this is the last level).
> */
> - if (x + n > max_size)
> + if (x + n >= max_size)
> return -ENOSPC;
> if (l2nb <= tp->dmt_stree[x + n])
> break;
>
> base-commit: 63804fed149a6750ffd28610c5c1c98cce6bd377
Hello jfs maintainers,
Is this patch on anybody radaras? Please merge the fix.
Or should JFS patches now be sent to a generic FS tree for merging?
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf
2026-02-23 14:36 ` Dmitry Vyukov
@ 2026-03-02 17:50 ` Dave Kleikamp
0 siblings, 0 replies; 9+ messages in thread
From: Dave Kleikamp @ 2026-03-02 17:50 UTC (permalink / raw)
To: Dmitry Vyukov, syzbot
Cc: jfs-discussion, shaggy, ghandatmanas,
syzbot+1afe7ef2d0062e19eeb3, linux-kernel, stable
On 2/23/26 8:36AM, Dmitry Vyukov wrote:
> On Wed, 4 Feb 2026 at 10:23, syzbot <syzbot@kernel.org> wrote:
>>
>> UBSAN reported an array-index-out-of-bounds issue in dbFindLeaf:
>>
>> index 1365 is out of range for type 's8[1365]' (aka 'signed char[1365]')
>> CPU: 0 UID: 0 PID: 6287 Comm: syz-executor268 Not tainted ...
>> Call Trace:
>> ...
>> __ubsan_handle_out_of_bounds+0x115/0x140 lib/ubsan.c:455
>> dbFindLeaf+0x308/0x520 fs/jfs/jfs_dmap.c:2976
>> dbFindCtl+0x267/0x520 fs/jfs/jfs_dmap.c:1717
>> ...
>>
>> The issue is caused by an off-by-one error in the bounds check within
>> dbFindLeaf. The function traverses the dmap tree to find free blocks.
>> It uses a loop to iterate through the levels of the tree, calculating
>> the index `x + n` to access the `tp->dmt_stree` array. The variable
>> `max_size` represents the size of this array (CTLTREESIZE (1365) for
>> dmapctl or TREESIZE (341) for dmaptree).
>>
>> The bounds check `if (x + n > max_size)` allows `x + n` to be equal to
>> `max_size`. However, since the array size is `max_size`, the valid
>> indices are `0` to `max_size - 1`. Accessing `tp->dmt_stree[max_size]`
>> results in an array-index-out-of-bounds access.
>>
>> This can occur when the `dmt_height` field in the on-disk structure is
>> corrupted or fuzzed to be larger than the fixed height supported by the
>> `dmt_stree` array.
>>
>> Fix this by changing the condition to `>=` to correctly reject indices
>> equal to or greater than the array size.
>>
>> Signed-off-by: syzbot@kernel.org
>> Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
>> Fixes: 22cad8bc1d36 ("jfs: fix array-index-out-of-bounds in dbFindLeaf")
>> Reported-by: syzbot+1afe7ef2d0062e19eeb3@syzkaller.appspotmail.com
>> To: <jfs-discussion@lists.sourceforge.net>
>> To: "Dave Kleikamp" <shaggy@kernel.org>
>> To: "Manas Ghandat" <ghandatmanas@gmail.com>
>> Cc: <linux-kernel@vger.kernel.org>
>> Cc: <stable@vger.kernel.org>
>> ---
>> This patch was generated by Google Gemini LLM model.
>> It was pre-reviewed and Signed-off-by a human, but please review carefully.
>>
>> Gerrit code review with full side-by-side diffs:
>> https://linux-review.git.corp.google.com/c/linux/kernel/git/torvalds/linux/+/26122
>>
>> Change-Id: I92f694e86518349eafa132b2ba314d8dfff6c86e
>> ---
>>
>> diff --git a/fs/jfs/jfs_dmap.c b/fs/jfs/jfs_dmap.c
>> index cdfa699..18a7dc5 100644
>> --- a/fs/jfs/jfs_dmap.c
>> +++ b/fs/jfs/jfs_dmap.c
>> @@ -2971,7 +2971,7 @@ static int dbFindLeaf(dmtree_t *tp, int l2nb, int *leafidx, bool is_ctl)
>> /* sufficient free space found. move to the next
>> * level (or quit if this is the last level).
>> */
>> - if (x + n > max_size)
>> + if (x + n >= max_size)
>> return -ENOSPC;
>> if (l2nb <= tp->dmt_stree[x + n])
>> break;
>>
>> base-commit: 63804fed149a6750ffd28610c5c1c98cce6bd377
>
> Hello jfs maintainers,
>
> Is this patch on anybody radaras? Please merge the fix.
> Or should JFS patches now be sent to a generic FS tree for merging?
I'm way behind on JFS maintenance, but working to catch up. My problem
with this patch is that the author is a bot. I want it to be from a real
person, as well as any s-o-b's. Otherwise the patch looks good.
Shaggy
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-03-02 17:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-29 16:52 [PATCH] jfs: fix array-index-out-of-bounds in dbFindLeaf Manas Ghandat
2023-08-29 18:38 ` Dave Kleikamp
2023-08-31 15:19 ` Manas Ghandat
2023-09-01 17:08 ` Dave Kleikamp
2023-09-02 17:45 ` Manas Ghandat
2023-09-03 21:45 ` Dave Kleikamp
2026-02-04 9:22 syzbot
2026-02-23 14:36 ` Dmitry Vyukov
2026-03-02 17:50 ` Dave Kleikamp
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®