<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/nfc/virtual_ncidev.c, branch v6.18.21</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.18.21</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.18.21'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-01-30T09:32:13+00:00</updated>
<entry>
<title>Revert "nfc/nci: Add the inconsistency check between the input data length and count"</title>
<updated>2026-01-30T09:32:13+00:00</updated>
<author>
<name>Thadeu Lima de Souza Cascardo</name>
<email>cascardo@igalia.com</email>
</author>
<published>2026-01-13T20:24:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5d5b227c92721fafe4bf25573777626be3c6930c'/>
<id>urn:sha1:5d5b227c92721fafe4bf25573777626be3c6930c</id>
<content type='text'>
commit f40ddcc0c0ca1a0122a7f4440b429f97d5832bdf upstream.

This reverts commit 068648aab72c9ba7b0597354ef4d81ffaac7b979.

NFC packets may have NUL-bytes. Checking for string length is not a correct
assumption here. As long as there is a check for the length copied from
copy_from_user, all should be fine.

The fix only prevented the syzbot reproducer from triggering the bug
because the packet is not enqueued anymore and the code that triggers the
bug is not exercised.

The fix even broke
testing/selftests/nci/nci_dev, making all tests there fail. After the
revert, 6 out of 8 tests pass.

Fixes: 068648aab72c ("nfc/nci: Add the inconsistency check between the input data length and count")
Cc: stable@vger.kernel.org
Signed-off-by: Thadeu Lima de Souza Cascardo &lt;cascardo@igalia.com&gt;
Link: https://patch.msgid.link/20260113202458.449455-1-cascardo@igalia.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>nfc: Correct Samsung "Electronics" spelling in copyright headers</title>
<updated>2025-05-22T03:31:18+00:00</updated>
<author>
<name>Sumanth Gavini</name>
<email>sumanth.gavini@yahoo.com</email>
</author>
<published>2025-05-20T07:21:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bd15b2b26c982540d973b1d672c8aa37dae25a8b'/>
<id>urn:sha1:bd15b2b26c982540d973b1d672c8aa37dae25a8b</id>
<content type='text'>
Fix the misspelling of "Electronics" in copyright headers across:
- s3fwrn5 driver
- virtual_ncidev driver

Signed-off-by: Sumanth Gavini &lt;sumanth.gavini@yahoo.com&gt;
Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Link: https://patch.msgid.link/20250520072119.176018-1-sumanth.gavini@yahoo.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>nfc/nci: Add the inconsistency check between the input data length and count</title>
<updated>2024-05-29T12:08:31+00:00</updated>
<author>
<name>Edward Adam Davis</name>
<email>eadavis@qq.com</email>
</author>
<published>2024-05-28T03:12:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=068648aab72c9ba7b0597354ef4d81ffaac7b979'/>
<id>urn:sha1:068648aab72c9ba7b0597354ef4d81ffaac7b979</id>
<content type='text'>
write$nci(r0, &amp;(0x7f0000000740)=ANY=[@ANYBLOB="610501"], 0xf)

Syzbot constructed a write() call with a data length of 3 bytes but a count value
of 15, which passed too little data to meet the basic requirements of the function
nci_rf_intf_activated_ntf_packet().

Therefore, increasing the comparison between data length and count value to avoid
problems caused by inconsistent data length and count.

Reported-and-tested-by: syzbot+71bfed2b2bcea46c98f2@syzkaller.appspotmail.com
Signed-off-by: Edward Adam Davis &lt;eadavis@qq.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>nfc: virtual_ncidev: Add variable to check if ndev is running</title>
<updated>2023-11-22T10:55:48+00:00</updated>
<author>
<name>Nguyen Dinh Phi</name>
<email>phind.uet@gmail.com</email>
</author>
<published>2023-11-21T07:53:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=84d2db91f14a32dc856a5972e3f0907089093c7a'/>
<id>urn:sha1:84d2db91f14a32dc856a5972e3f0907089093c7a</id>
<content type='text'>
syzbot reported an memory leak that happens when an skb is add to
send_buff after virtual nci closed.
This patch adds a variable to track if the ndev is running before
handling new skb in send function.

Signed-off-by: Nguyen Dinh Phi &lt;phind.uet@gmail.com&gt;
Reported-by: syzbot+6eb09d75211863f15e3e@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/lkml/00000000000075472b06007df4fb@google.com
Reviewed-by: Bongsu Jeon
Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>nfc: virtual_ncidev: Use module_misc_device macro to simplify the code</title>
<updated>2023-08-16T08:54:16+00:00</updated>
<author>
<name>Li Zetao</name>
<email>lizetao1@huawei.com</email>
</author>
<published>2023-08-15T07:49:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=61a9b174f461de4d0668a98ca2f668b65ebdf131'/>
<id>urn:sha1:61a9b174f461de4d0668a98ca2f668b65ebdf131</id>
<content type='text'>
Use the module_misc_device macro to simplify the code, which is the
same as declaring with module_init() and module_exit().

Signed-off-by: Li Zetao &lt;lizetao1@huawei.com&gt;
Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>NFC: nci: Allow to create multiple virtual nci devices</title>
<updated>2022-11-17T12:48:01+00:00</updated>
<author>
<name>Dmitry Vyukov</name>
<email>dvyukov@google.com</email>
</author>
<published>2022-11-15T10:00:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b2e44aac91b25abbed57d785089c4b7af926a7bd'/>
<id>urn:sha1:b2e44aac91b25abbed57d785089c4b7af926a7bd</id>
<content type='text'>
The current virtual nci driver is great for testing and fuzzing.
But it allows to create at most one "global" device which does not allow
to run parallel tests and harms fuzzing isolation and reproducibility.
Restructure the driver to allow creation of multiple independent devices.
This should be backwards compatible for existing tests.

Signed-off-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Reviewed-by: Bongsu Jeon &lt;bongsu.jeon@samsung.com&gt;
Cc: Bongsu Jeon &lt;bongsu.jeon@samsung.com&gt;
Cc: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Cc: Jakub Kicinski &lt;kuba@kernel.org&gt;
Cc: netdev@vger.kernel.org
Link: https://lore.kernel.org/r/20221115100017.787929-1-dvyukov@google.com
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
</content>
</entry>
<entry>
<title>nfc: virtual_ncidev: Fix memory leak in virtual_nci_send()</title>
<updated>2022-10-21T04:13:04+00:00</updated>
<author>
<name>Shang XiaoJing</name>
<email>shangxiaojing@huawei.com</email>
</author>
<published>2022-10-20T03:05:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e840d8f4a1b323973052a1af5ad4edafcde8ae3d'/>
<id>urn:sha1:e840d8f4a1b323973052a1af5ad4edafcde8ae3d</id>
<content type='text'>
skb should be free in virtual_nci_send(), otherwise kmemleak will report
memleak.

Steps for reproduction (simulated in qemu):
	cd tools/testing/selftests/nci
	make
	./nci_dev

BUG: memory leak
unreferenced object 0xffff888107588000 (size 208):
  comm "nci_dev", pid 206, jiffies 4294945376 (age 368.248s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [&lt;000000008d94c8fd&gt;] __alloc_skb+0x1da/0x290
    [&lt;00000000278bc7f8&gt;] nci_send_cmd+0xa3/0x350
    [&lt;0000000081256a22&gt;] nci_reset_req+0x6b/0xa0
    [&lt;000000009e721112&gt;] __nci_request+0x90/0x250
    [&lt;000000005d556e59&gt;] nci_dev_up+0x217/0x5b0
    [&lt;00000000e618ce62&gt;] nfc_dev_up+0x114/0x220
    [&lt;00000000981e226b&gt;] nfc_genl_dev_up+0x94/0xe0
    [&lt;000000009bb03517&gt;] genl_family_rcv_msg_doit.isra.14+0x228/0x2d0
    [&lt;00000000b7f8c101&gt;] genl_rcv_msg+0x35c/0x640
    [&lt;00000000c94075ff&gt;] netlink_rcv_skb+0x11e/0x350
    [&lt;00000000440cfb1e&gt;] genl_rcv+0x24/0x40
    [&lt;0000000062593b40&gt;] netlink_unicast+0x43f/0x640
    [&lt;000000001d0b13cc&gt;] netlink_sendmsg+0x73a/0xbf0
    [&lt;000000003272487f&gt;] __sys_sendto+0x324/0x370
    [&lt;00000000ef9f1747&gt;] __x64_sys_sendto+0xdd/0x1b0
    [&lt;000000001e437841&gt;] do_syscall_64+0x3f/0x90

Fixes: e624e6c3e777 ("nfc: Add a virtual nci device driver")
Signed-off-by: Shang XiaoJing &lt;shangxiaojing@huawei.com&gt;
Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@linaro.org&gt;
Link: https://lore.kernel.org/r/20221020030505.15572-1-shangxiaojing@huawei.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>nfc: virtual_ncidev: change default device permissions</title>
<updated>2021-11-26T19:14:31+00:00</updated>
<author>
<name>Thadeu Lima de Souza Cascardo</name>
<email>cascardo@canonical.com</email>
</author>
<published>2021-11-25T14:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c26381f97e2a7df43826150dc7d4c207bd6794a5'/>
<id>urn:sha1:c26381f97e2a7df43826150dc7d4c207bd6794a5</id>
<content type='text'>
Device permissions is S_IALLUGO, with many unnecessary bits. Remove them
and also remove read and write permissions from group and others.

Before the change:
crwsrwsrwt    1 0        0          10, 125 Nov 25 13:59 /dev/virtual_nci

After the change:
crw-------    1 0        0          10, 125 Nov 25 14:05 /dev/virtual_nci

Signed-off-by: Thadeu Lima de Souza Cascardo &lt;cascardo@canonical.com&gt;
Reviewed-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@canonical.com&gt;
Reviewed-by: Bongsu Jeon &lt;bongsu.jeon@samsung.com&gt;
Link: https://lore.kernel.org/r/20211125141457.716921-1-cascardo@canonical.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>nfc: virtual_ncidev: Use wait queue instead of polling</title>
<updated>2021-08-18T09:17:57+00:00</updated>
<author>
<name>Bongsu Jeon</name>
<email>bongsu.jeon@samsung.com</email>
</author>
<published>2021-08-17T13:28:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8675569d73cab15e5127d1f228afd3317cbeb5bf'/>
<id>urn:sha1:8675569d73cab15e5127d1f228afd3317cbeb5bf</id>
<content type='text'>
In previous version, the user level virtual device application that used
this driver should have the polling scheme to read a NCI frame.
To remove this polling scheme, use Wait Queue.

Signed-off-by: Bongsu Jeon &lt;bongsu.jeon@samsung.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>nfc: virtual_ncidev: constify pointer to nfc_dev</title>
<updated>2021-07-29T11:28:03+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzysztof.kozlowski@canonical.com</email>
</author>
<published>2021-07-29T10:40:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=83428dbbac514f33597e6c8c571969027b3fac82'/>
<id>urn:sha1:83428dbbac514f33597e6c8c571969027b3fac82</id>
<content type='text'>
virtual_ncidev_ioctl() does not modify struct nfc_dev, so local variable
can be a pointer to const.

Signed-off-by: Krzysztof Kozlowski &lt;krzysztof.kozlowski@canonical.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
