<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/md/dm-vdo/indexer, branch master</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2026-07-28T12:34:47+00:00</updated>
<entry>
<title>dm vdo indexer: embed geometry in parent structures</title>
<updated>2026-07-28T12:34:47+00:00</updated>
<author>
<name>corwin</name>
<email>corwincoburn@google.com</email>
</author>
<published>2026-07-22T21:55:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=fb582397cf5d08bc5c05b1b8736a28c96d22eb09'/>
<id>urn:sha1:fb582397cf5d08bc5c05b1b8736a28c96d22eb09</id>
<content type='text'>
Embed struct index_geometry in struct uds_configuration and struct
volume directly, eliminating the need to allocate (and free) the
geometry separately.

Signed-off-by: corwin &lt;corwincoburn@google.com&gt;
Signed-off-by: Matthew Sakai &lt;msakai@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm vdo indexer: simplify sub-index parameter calculations</title>
<updated>2026-07-28T12:32:35+00:00</updated>
<author>
<name>corwin</name>
<email>corwincoburn@google.com</email>
</author>
<published>2026-06-30T23:05:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=83a056da33b1be1b3de4209718df926c47d1af18'/>
<id>urn:sha1:83a056da33b1be1b3de4209718df926c47d1af18</id>
<content type='text'>
Pull the calculations from split_config() into
compute_volume_sub_index_parameters(). For sparse indexes, this
eliminates the duplication of both the configs and geometries
in favor of merely having 2 sub_index_parameters structures.

Also expand the sub_index_parameters structure to include the
small number of fields its users rely on from both the config
and the geometry.

Signed-off-by: corwin &lt;corwincoburn@google.com&gt;
Signed-off-by: Matthew Sakai &lt;msakai@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm vdo: use get_random_u32() where appropriate</title>
<updated>2026-05-04T12:33:42+00:00</updated>
<author>
<name>David Carlier</name>
<email>devnexen@gmail.com</email>
</author>
<published>2026-04-05T15:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=758a43cd4e7907513505eebb6c266d8ab84f9e96'/>
<id>urn:sha1:758a43cd4e7907513505eebb6c266d8ab84f9e96</id>
<content type='text'>
Use the typed random integer helpers instead of
get_random_bytes() when filling a single integer variable.
The helpers return the value directly, require no pointer
or size argument, and better express intent.

Signed-off-by: David Carlier &lt;devnexen@gmail.com&gt;
Reviewed-by: Matthew Sakai &lt;msakai@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm vdo: add geometry block initialization to encodings.c</title>
<updated>2026-03-26T17:17:31+00:00</updated>
<author>
<name>Bruce Johnston</name>
<email>bjohnsto@redhat.com</email>
</author>
<published>2026-03-24T18:06:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b4a8d9560d987f4df17b7248ab1c8146138d0f5'/>
<id>urn:sha1:4b4a8d9560d987f4df17b7248ab1c8146138d0f5</id>
<content type='text'>
Add vdo_initialize_volume_geometry() to populate the geometry block,
computing the space required for the two main regions on disk.

Add uds_compute_index_size() to calculate the space required for the
UDS indexer from the UDS configuration.

Signed-off-by: Bruce Johnston &lt;bjohnsto@redhat.com&gt;
Reviewed-by: Matthew Sakai &lt;msakai@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm vdo: add __counted_by attribute to a number of structures</title>
<updated>2026-03-02T16:03:37+00:00</updated>
<author>
<name>Ken Raeburn</name>
<email>raeburn@redhat.com</email>
</author>
<published>2026-02-27T01:12:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=db139186beac761c1172a7b20687fb2078c6a70c'/>
<id>urn:sha1:db139186beac761c1172a7b20687fb2078c6a70c</id>
<content type='text'>
This attribute allows the compiler to refine compile-time diagnostics
and run-time sanitizer features with information about the size of the
flexible arrays.

Signed-off-by: Ken Raeburn &lt;raeburn@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm vdo: remove redundant TYPE argument from vdo_allocate macro</title>
<updated>2026-03-02T16:03:28+00:00</updated>
<author>
<name>Ken Raeburn</name>
<email>raeburn@redhat.com</email>
</author>
<published>2026-02-27T01:12:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9bb388b1a95751c4a4a99a4dab1b21136a4eeb96'/>
<id>urn:sha1:9bb388b1a95751c4a4a99a4dab1b21136a4eeb96</id>
<content type='text'>
We can infer the type needed from the supplied pointer argument. A
couple invocation sites needed fixing to supply the proper type of
pointer.

Use overflow.h's size_mul, and we can remove the __vdo_do_allocation
wrapper which did the same overflow check.

Signed-off-by: Ken Raeburn &lt;raeburn@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm vdo: update vdo_allocate_extended to take a field name, no types</title>
<updated>2026-03-02T16:03:18+00:00</updated>
<author>
<name>Ken Raeburn</name>
<email>raeburn@redhat.com</email>
</author>
<published>2026-02-27T01:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6af58aa3b028e364c0a8f8b6be48fca17e571de3'/>
<id>urn:sha1:6af58aa3b028e364c0a8f8b6be48fca17e571de3</id>
<content type='text'>
All of VDO's "extended" allocations use a flexible array field at the
end of the allocated structure. We can infer the struct type from the
supplied pointer. Replacing the array field type with the field name
lets us use struct_size from overflow.h to compute the size instead of
the local __vdo_do_allocation version.

One allocation of bio structures doesn't conform to this pattern,
since the removal of bi_inline_vecs; directly compute the total size
for that case.

Signed-off-by: Ken Raeburn &lt;raeburn@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm vdo indexer: validate saved zone count</title>
<updated>2026-03-02T15:37:43+00:00</updated>
<author>
<name>Matthew Sakai</name>
<email>msakai@redhat.com</email>
</author>
<published>2026-02-11T15:05:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9e809bb1defe9be7fed2e21552c6b03b2694394d'/>
<id>urn:sha1:9e809bb1defe9be7fed2e21552c6b03b2694394d</id>
<content type='text'>
Verify that the loaded zone count is in the valid range
before using it as a loop iterator.

Signed-off-by: Matthew Sakai &lt;msakai@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm vdo: return error on corrupted metadata in start_restoring_volume functions</title>
<updated>2025-09-23T08:49:45+00:00</updated>
<author>
<name>Ivan Abramov</name>
<email>i.abramov@mt-integration.ru</email>
</author>
<published>2025-09-09T20:22:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9ddf6d3fcbe0b96e318da364cf7e6b59cd4cb5a2'/>
<id>urn:sha1:9ddf6d3fcbe0b96e318da364cf7e6b59cd4cb5a2</id>
<content type='text'>
The return values of VDO_ASSERT calls that validate metadata are not acted
upon.

Return UDS_CORRUPT_DATA in case of an error.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: a4eb7e255517 ("dm vdo: implement the volume index")
Signed-off-by: Ivan Abramov &lt;i.abramov@mt-integration.ru&gt;
Reviewed-by: Matthew Sakai &lt;msakai@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
<entry>
<title>dm vdo indexer: don't read request structure after enqueuing</title>
<updated>2025-05-15T13:54:47+00:00</updated>
<author>
<name>Matthew Sakai</name>
<email>msakai@redhat.com</email>
</author>
<published>2025-05-13T01:10:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3da732687d72078e52cc7f334a482383e84ca156'/>
<id>urn:sha1:3da732687d72078e52cc7f334a482383e84ca156</id>
<content type='text'>
The function get_volume_page_protected may place a request on
a queue for another thread to process asynchronously. When this
happens, the volume should not read the request from the original
thread. This can not currently cause problems, due to the way
request processing is handled, but it is not safe in general.

Reviewed-by: Ken Raeburn &lt;raeburn@redhat.com&gt;
Signed-off-by: Matthew Sakai &lt;msakai@redhat.com&gt;
Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
</content>
</entry>
</feed>
