<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/tools/testing/selftests/filesystems/configfs, branch master</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>selftests/configfs: fix the build on 32-bit architectures</title>
<updated>2026-11-04T11:09:57+00:00</updated>
<author>
<name>Sasha Levin</name>
<email>sashal@kernel.org</email>
</author>
<published>2026-11-03T14:16:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=57d94d26ed42773d6378da45eed9de03b116e7f7'/>
<id>57d94d26ed42773d6378da45eed9de03b116e7f7</id>
<content type='text'>
The fixture setup checks the result of mkdtemp() with ASSERT_NE(), which
hands the pointer to the harness. The harness casts both operands to
intmax_t to print them, and on 32-bit architectures gcc warns about the
cast from a pointer to an integer of a different size. The configfs
test builds with -Werror, so it fails to build there:

  kselftest_harness.h:797:49: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]

Compare the result against NULL inside ASSERT_TRUE(), so that the
harness only sees an int.

Fixes: a7fdcb2edd0f ("selftests/configfs: add tests for the userspace interface")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
Reviewed-by: Breno Leitao &lt;leitao@debian.org&gt;
Link: https://patch.msgid.link/20261103141627.30838-1-sashal@kernel.org
Signed-off-by: Breno Leitao &lt;leitao@debian.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fixture setup checks the result of mkdtemp() with ASSERT_NE(), which
hands the pointer to the harness. The harness casts both operands to
intmax_t to print them, and on 32-bit architectures gcc warns about the
cast from a pointer to an integer of a different size. The configfs
test builds with -Werror, so it fails to build there:

  kselftest_harness.h:797:49: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]

Compare the result against NULL inside ASSERT_TRUE(), so that the
harness only sees an int.

Fixes: a7fdcb2edd0f ("selftests/configfs: add tests for the userspace interface")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
Reviewed-by: Breno Leitao &lt;leitao@debian.org&gt;
Link: https://patch.msgid.link/20261103141627.30838-1-sashal@kernel.org
Signed-off-by: Breno Leitao &lt;leitao@debian.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>selftests/configfs: race symlink against rmdir of the target</title>
<updated>2026-10-16T16:17:20+00:00</updated>
<author>
<name>Breno Leitao</name>
<email>leitao@debian.org</email>
</author>
<published>2026-08-26T10:47:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6b1b324e96dce23de8e204e277258ddc46d8d2ca'/>
<id>6b1b324e96dce23de8e204e277258ddc46d8d2ca</id>
<content type='text'>
configfs_rmdir() drops the last reference to an item while its dentry is
still hashed, so a symlink(2) resolving that target takes a reference on
freed memory.  syzbot reported it [1].

Race mkdir/rmdir of a target against symlink/unlink of a link to it,
watching /sys/kernel/warn_count.

Fails until the fix [2] lands.

Link: https://syzkaller.appspot.com/bug?extid=6b16e3d085833cbf3e25 [1]
Link: https://lore.kernel.org/all/20260730093435.195441-1-vasilisalmpanis@gmail.com/ [2]
Link: https://patch.msgid.link/20260826-config_selftest-v1-4-e364b07e91ac@debian.org
Signed-off-by: Breno Leitao &lt;leitao@debian.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
configfs_rmdir() drops the last reference to an item while its dentry is
still hashed, so a symlink(2) resolving that target takes a reference on
freed memory.  syzbot reported it [1].

Race mkdir/rmdir of a target against symlink/unlink of a link to it,
watching /sys/kernel/warn_count.

Fails until the fix [2] lands.

Link: https://syzkaller.appspot.com/bug?extid=6b16e3d085833cbf3e25 [1]
Link: https://lore.kernel.org/all/20260730093435.195441-1-vasilisalmpanis@gmail.com/ [2]
Link: https://patch.msgid.link/20260826-config_selftest-v1-4-e364b07e91ac@debian.org
Signed-off-by: Breno Leitao &lt;leitao@debian.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>selftests/configfs: cover symlink and unlink</title>
<updated>2026-10-16T16:17:19+00:00</updated>
<author>
<name>Breno Leitao</name>
<email>leitao@debian.org</email>
</author>
<published>2026-08-26T10:47:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=77b20a890a20c943f55d4120f0bcba838b827874'/>
<id>77b20a890a20c943f55d4120f0bcba838b827874</id>
<content type='text'>
samples/configfs had nothing to link from, so symlink(2) went untested
beyond the EPERM a subsystem without -&gt;allow_link() returns.

Cover creating and removing a link, the relative body configfs stores, the
count -&gt;allow_link() and -&gt;drop_link() keep, the busy errors both ends
return, and what get_target() rejects.

Link: https://patch.msgid.link/20260826-config_selftest-v1-3-e364b07e91ac@debian.org
Signed-off-by: Breno Leitao &lt;leitao@debian.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
samples/configfs had nothing to link from, so symlink(2) went untested
beyond the EPERM a subsystem without -&gt;allow_link() returns.

Cover creating and removing a link, the relative body configfs stores, the
count -&gt;allow_link() and -&gt;drop_link() keep, the busy errors both ends
return, and what get_target() rejects.

Link: https://patch.msgid.link/20260826-config_selftest-v1-3-e364b07e91ac@debian.org
Signed-off-by: Breno Leitao &lt;leitao@debian.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>selftests/configfs: add tests for the userspace interface</title>
<updated>2026-10-16T16:17:19+00:00</updated>
<author>
<name>Breno Leitao</name>
<email>leitao@debian.org</email>
</author>
<published>2026-08-26T10:47:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a7fdcb2edd0fe797bade7e81fd9078f00a98e367'/>
<id>a7fdcb2edd0fe797bade7e81fd9078f00a98e367</id>
<content type='text'>
configfs has no selftest coverage.  Its userspace ABI is entirely
mkdir/rmdir/read/write on attribute files, and the error each of those
returns is part of the contract.

Add tests driving the subsystems samples/configfs registers, each in its
own mount namespace on a private configfs mount.

Link: https://patch.msgid.link/20260826-config_selftest-v1-1-e364b07e91ac@debian.org
Signed-off-by: Breno Leitao &lt;leitao@debian.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
configfs has no selftest coverage.  Its userspace ABI is entirely
mkdir/rmdir/read/write on attribute files, and the error each of those
returns is part of the contract.

Add tests driving the subsystems samples/configfs registers, each in its
own mount namespace on a private configfs mount.

Link: https://patch.msgid.link/20260826-config_selftest-v1-1-e364b07e91ac@debian.org
Signed-off-by: Breno Leitao &lt;leitao@debian.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
