<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/arch/um/drivers, branch v6.12.80</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.12.80'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2025-11-13T20:34:33+00:00</updated>
<entry>
<title>um: Fix help message for ssl-non-raw</title>
<updated>2025-11-13T20:34:33+00:00</updated>
<author>
<name>Tiwei Bie</name>
<email>tiwei.btw@antgroup.com</email>
</author>
<published>2025-08-27T00:56:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d8c4a6d84bfdc8e01239fa4a5aa2fd3ee7c9127a'/>
<id>urn:sha1:d8c4a6d84bfdc8e01239fa4a5aa2fd3ee7c9127a</id>
<content type='text'>
[ Upstream commit 725e9d81868fcedaeef775948e699955b01631ae ]

Add the missing option name in the help message. Additionally,
switch to __uml_help(), because this is a global option rather
than a per-channel option.

Signed-off-by: Tiwei Bie &lt;tiwei.btw@antgroup.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>um: virtio_uml: Fix use-after-free after put_device in probe</title>
<updated>2025-09-25T09:13:42+00:00</updated>
<author>
<name>Miaoqian Lin</name>
<email>linmq006@gmail.com</email>
</author>
<published>2025-08-28T07:00:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=00e98b5a69034b251bb36dc6e7123d7648e218e4'/>
<id>urn:sha1:00e98b5a69034b251bb36dc6e7123d7648e218e4</id>
<content type='text'>
[ Upstream commit 7ebf70cf181651fe3f2e44e95e7e5073d594c9c0 ]

When register_virtio_device() fails in virtio_uml_probe(),
the code sets vu_dev-&gt;registered = 1 even though
the device was not successfully registered.
This can lead to use-after-free or other issues.

Fixes: 04e5b1fb0183 ("um: virtio: Remove device on disconnect")
Signed-off-by: Miaoqian Lin &lt;linmq006@gmail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>um: rtc: Avoid shadowing err in uml_rtc_start()</title>
<updated>2025-08-15T10:13:42+00:00</updated>
<author>
<name>Tiwei Bie</name>
<email>tiwei.btw@antgroup.com</email>
</author>
<published>2025-07-08T09:04:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=67925d8b0d633dd70a5e5f1f0a254061738f5a37'/>
<id>urn:sha1:67925d8b0d633dd70a5e5f1f0a254061738f5a37</id>
<content type='text'>
[ Upstream commit 4c916e3b224a02019b3cc3983a15f32bfd9a22df ]

Remove the declaration of 'err' inside the 'if (timetravel)' block,
as it would otherwise be unavailable outside that block, potentially
leading to uml_rtc_start() returning an uninitialized value.

Fixes: dde8b58d5127 ("um: add a pseudo RTC")
Signed-off-by: Tiwei Bie &lt;tiwei.btw@antgroup.com&gt;
Link: https://patch.msgid.link/20250708090403.1067440-5-tiwei.bie@linux.dev
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>um: vector: Reduce stack usage in vector_eth_configure()</title>
<updated>2025-07-17T16:37:20+00:00</updated>
<author>
<name>Tiwei Bie</name>
<email>tiwei.btw@antgroup.com</email>
</author>
<published>2025-06-23T11:08:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dd072fa6471510a97d2ff8330ae312451711a070'/>
<id>urn:sha1:dd072fa6471510a97d2ff8330ae312451711a070</id>
<content type='text'>
[ Upstream commit 2d65fc13be85c336c56af7077f08ccd3a3a15a4a ]

When compiling with clang (19.1.7), initializing *vp using a compound
literal may result in excessive stack usage. Fix it by initializing the
required fields of *vp individually.

Without this patch:

$ objdump -d arch/um/drivers/vector_kern.o | ./scripts/checkstack.pl x86_64 0
...
0x0000000000000540 vector_eth_configure [vector_kern.o]:1472
...

With this patch:

$ objdump -d arch/um/drivers/vector_kern.o | ./scripts/checkstack.pl x86_64 0
...
0x0000000000000540 vector_eth_configure [vector_kern.o]:208
...

Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Closes: https://lore.kernel.org/oe-kbuild-all/202506221017.WtB7Usua-lkp@intel.com/
Signed-off-by: Tiwei Bie &lt;tiwei.btw@antgroup.com&gt;
Link: https://patch.msgid.link/20250623110829.314864-1-tiwei.btw@antgroup.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>um: ubd: Add missing error check in start_io_thread()</title>
<updated>2025-07-06T09:01:40+00:00</updated>
<author>
<name>Tiwei Bie</name>
<email>tiwei.btw@antgroup.com</email>
</author>
<published>2025-06-06T12:44:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e1f6654f229949c657dd8276f26030880c94456e'/>
<id>urn:sha1:e1f6654f229949c657dd8276f26030880c94456e</id>
<content type='text'>
[ Upstream commit c55c7a85e02a7bfee20a3ffebdff7cbeb41613ef ]

The subsequent call to os_set_fd_block() overwrites the previous
return value. OR the two return values together to fix it.

Fixes: f88f0bdfc32f ("um: UBD Improvements")
Signed-off-by: Tiwei Bie &lt;tiwei.btw@antgroup.com&gt;
Link: https://patch.msgid.link/20250606124428.148164-2-tiwei.btw@antgroup.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>um: ubd: Initialize ubd's disk pointer in ubd_add</title>
<updated>2024-12-05T13:03:03+00:00</updated>
<author>
<name>Tiwei Bie</name>
<email>tiwei.btw@antgroup.com</email>
</author>
<published>2024-11-04T16:32:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f5e01fe96c0f75cad1f829a578305739ce6ae6d0'/>
<id>urn:sha1:f5e01fe96c0f75cad1f829a578305739ce6ae6d0</id>
<content type='text'>
[ Upstream commit df700802abcac3c7c4a4ced099aa42b9a144eea8 ]

Currently, the initialization of the disk pointer in the ubd structure
is missing. It should be initialized with the allocated gendisk pointer
in ubd_add().

Fixes: 32621ad7a7ea ("ubd: remove the ubd_gendisk array")
Signed-off-by: Tiwei Bie &lt;tiwei.btw@antgroup.com&gt;
Acked-By: Anton Ivanov &lt;anton.ivanov@cambridgegreys.com&gt;
Link: https://patch.msgid.link/20241104163203.435515-2-tiwei.btw@antgroup.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>um: vector: Do not use drvdata in release</title>
<updated>2024-12-05T13:02:54+00:00</updated>
<author>
<name>Tiwei Bie</name>
<email>tiwei.btw@antgroup.com</email>
</author>
<published>2024-11-04T16:32:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=12f52e373d63f008ee386f371bdd82a3a3779199'/>
<id>urn:sha1:12f52e373d63f008ee386f371bdd82a3a3779199</id>
<content type='text'>
commit 51b39d741970742a5c41136241a9c48ac607cf82 upstream.

The drvdata is not available in release. Let's just use container_of()
to get the vector_device instance. Otherwise, removing a vector device
will result in a crash:

RIP: 0033:vector_device_release+0xf/0x50
RSP: 00000000e187bc40  EFLAGS: 00010202
RAX: 0000000060028f61 RBX: 00000000600f1baf RCX: 00000000620074e0
RDX: 000000006220b9c0 RSI: 0000000060551c80 RDI: 0000000000000000
RBP: 00000000e187bc50 R08: 00000000603ad594 R09: 00000000e187bb70
R10: 000000000000135a R11: 00000000603ad422 R12: 00000000623ae028
R13: 000000006287a200 R14: 0000000062006d30 R15: 00000000623700b6
Kernel panic - not syncing: Segfault with no mm
CPU: 0 UID: 0 PID: 16 Comm: kworker/0:1 Not tainted 6.12.0-rc6-g59b723cd2adb #1
Workqueue: events mc_work_proc
Stack:
 60028f61 623ae028 e187bc80 60276fcd
 6220b9c0 603f5820 623ae028 00000000
 e187bcb0 603a2bcd 623ae000 62370010
Call Trace:
 [&lt;60028f61&gt;] ? vector_device_release+0x0/0x50
 [&lt;60276fcd&gt;] device_release+0x70/0xba
 [&lt;603a2bcd&gt;] kobject_put+0xba/0xe7
 [&lt;60277265&gt;] put_device+0x19/0x1c
 [&lt;60281266&gt;] platform_device_put+0x26/0x29
 [&lt;60281e5f&gt;] platform_device_unregister+0x2c/0x2e
 [&lt;60029422&gt;] vector_remove+0x52/0x58
 [&lt;60031316&gt;] ? mconsole_reply+0x0/0x50
 [&lt;600310c8&gt;] mconsole_remove+0x160/0x1cc
 [&lt;603b19f4&gt;] ? strlen+0x0/0x15
 [&lt;60066611&gt;] ? __dequeue_entity+0x1a9/0x206
 [&lt;600666a7&gt;] ? set_next_entity+0x39/0x63
 [&lt;6006666e&gt;] ? set_next_entity+0x0/0x63
 [&lt;60038fa6&gt;] ? um_set_signals+0x0/0x43
 [&lt;6003070c&gt;] mc_work_proc+0x77/0x91
 [&lt;60057664&gt;] process_scheduled_works+0x1b3/0x2dd
 [&lt;60055f32&gt;] ? assign_work+0x0/0x58
 [&lt;60057f0a&gt;] worker_thread+0x1e9/0x293
 [&lt;6005406f&gt;] ? set_pf_worker+0x0/0x64
 [&lt;6005d65d&gt;] ? arch_local_irq_save+0x0/0x2d
 [&lt;6005d748&gt;] ? kthread_exit+0x0/0x3a
 [&lt;60057d21&gt;] ? worker_thread+0x0/0x293
 [&lt;6005dbf1&gt;] kthread+0x126/0x12b
 [&lt;600219c5&gt;] new_thread_handler+0x85/0xb6

Cc: stable@vger.kernel.org
Signed-off-by: Tiwei Bie &lt;tiwei.btw@antgroup.com&gt;
Acked-By: Anton Ivanov &lt;anton.ivanov@cambridgegreys.com&gt;
Link: https://patch.msgid.link/20241104163203.435515-5-tiwei.btw@antgroup.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>um: net: Do not use drvdata in release</title>
<updated>2024-12-05T13:02:53+00:00</updated>
<author>
<name>Tiwei Bie</name>
<email>tiwei.btw@antgroup.com</email>
</author>
<published>2024-11-04T16:32:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f04cd022ee1fde219e0db1086c27a0a5ba1914db'/>
<id>urn:sha1:f04cd022ee1fde219e0db1086c27a0a5ba1914db</id>
<content type='text'>
commit d1db692a9be3b4bd3473b64fcae996afaffe8438 upstream.

The drvdata is not available in release. Let's just use container_of()
to get the uml_net instance. Otherwise, removing a network device will
result in a crash:

RIP: 0033:net_device_release+0x10/0x6f
RSP: 00000000e20c7c40  EFLAGS: 00010206
RAX: 000000006002e4e7 RBX: 00000000600f1baf RCX: 00000000624074e0
RDX: 0000000062778000 RSI: 0000000060551c80 RDI: 00000000627af028
RBP: 00000000e20c7c50 R08: 00000000603ad594 R09: 00000000e20c7b70
R10: 000000000000135a R11: 00000000603ad422 R12: 0000000000000000
R13: 0000000062c7af00 R14: 0000000062406d60 R15: 00000000627700b6
Kernel panic - not syncing: Segfault with no mm
CPU: 0 UID: 0 PID: 29 Comm: kworker/0:2 Not tainted 6.12.0-rc6-g59b723cd2adb #1
Workqueue: events mc_work_proc
Stack:
 627af028 62c7af00 e20c7c80 60276fcd
 62778000 603f5820 627af028 00000000
 e20c7cb0 603a2bcd 627af000 62770010
Call Trace:
 [&lt;60276fcd&gt;] device_release+0x70/0xba
 [&lt;603a2bcd&gt;] kobject_put+0xba/0xe7
 [&lt;60277265&gt;] put_device+0x19/0x1c
 [&lt;60281266&gt;] platform_device_put+0x26/0x29
 [&lt;60281e5f&gt;] platform_device_unregister+0x2c/0x2e
 [&lt;6002ec9c&gt;] net_remove+0x63/0x69
 [&lt;60031316&gt;] ? mconsole_reply+0x0/0x50
 [&lt;600310c8&gt;] mconsole_remove+0x160/0x1cc
 [&lt;60087d40&gt;] ? __remove_hrtimer+0x38/0x74
 [&lt;60087ff8&gt;] ? hrtimer_try_to_cancel+0x8c/0x98
 [&lt;6006b3cf&gt;] ? dl_server_stop+0x3f/0x48
 [&lt;6006b390&gt;] ? dl_server_stop+0x0/0x48
 [&lt;600672e8&gt;] ? dequeue_entities+0x327/0x390
 [&lt;60038fa6&gt;] ? um_set_signals+0x0/0x43
 [&lt;6003070c&gt;] mc_work_proc+0x77/0x91
 [&lt;60057664&gt;] process_scheduled_works+0x1b3/0x2dd
 [&lt;60055f32&gt;] ? assign_work+0x0/0x58
 [&lt;60057f0a&gt;] worker_thread+0x1e9/0x293
 [&lt;6005406f&gt;] ? set_pf_worker+0x0/0x64
 [&lt;6005d65d&gt;] ? arch_local_irq_save+0x0/0x2d
 [&lt;6005d748&gt;] ? kthread_exit+0x0/0x3a
 [&lt;60057d21&gt;] ? worker_thread+0x0/0x293
 [&lt;6005dbf1&gt;] kthread+0x126/0x12b
 [&lt;600219c5&gt;] new_thread_handler+0x85/0xb6

Cc: stable@vger.kernel.org
Signed-off-by: Tiwei Bie &lt;tiwei.btw@antgroup.com&gt;
Acked-By: Anton Ivanov &lt;anton.ivanov@cambridgegreys.com&gt;
Link: https://patch.msgid.link/20241104163203.435515-4-tiwei.btw@antgroup.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>um: ubd: Do not use drvdata in release</title>
<updated>2024-12-05T13:02:53+00:00</updated>
<author>
<name>Tiwei Bie</name>
<email>tiwei.btw@antgroup.com</email>
</author>
<published>2024-11-04T16:32:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=16cf8511680809a9f20b3dd224c06d482648f9e2'/>
<id>urn:sha1:16cf8511680809a9f20b3dd224c06d482648f9e2</id>
<content type='text'>
commit 5bee35e5389f450a7eea7318deb9073e9414d3b1 upstream.

The drvdata is not available in release. Let's just use container_of()
to get the ubd instance. Otherwise, removing a ubd device will result
in a crash:

RIP: 0033:blk_mq_free_tag_set+0x1f/0xba
RSP: 00000000e2083bf0  EFLAGS: 00010246
RAX: 000000006021463a RBX: 0000000000000348 RCX: 0000000062604d00
RDX: 0000000004208060 RSI: 00000000605241a0 RDI: 0000000000000348
RBP: 00000000e2083c10 R08: 0000000062414010 R09: 00000000601603f7
R10: 000000000000133a R11: 000000006038c4bd R12: 0000000000000000
R13: 0000000060213a5c R14: 0000000062405d20 R15: 00000000604f7aa0
Kernel panic - not syncing: Segfault with no mm
CPU: 0 PID: 17 Comm: kworker/0:1 Not tainted 6.8.0-rc3-00107-gba3f67c11638 #1
Workqueue: events mc_work_proc
Stack:
 00000000 604f7ef0 62c5d000 62405d20
 e2083c30 6002c776 6002c755 600e47ff
 e2083c60 6025ffe3 04208060 603d36e0
Call Trace:
 [&lt;6002c776&gt;] ubd_device_release+0x21/0x55
 [&lt;6002c755&gt;] ? ubd_device_release+0x0/0x55
 [&lt;600e47ff&gt;] ? kfree+0x0/0x100
 [&lt;6025ffe3&gt;] device_release+0x70/0xba
 [&lt;60381d6a&gt;] kobject_put+0xb5/0xe2
 [&lt;6026027b&gt;] put_device+0x19/0x1c
 [&lt;6026a036&gt;] platform_device_put+0x26/0x29
 [&lt;6026ac5a&gt;] platform_device_unregister+0x2c/0x2e
 [&lt;6002c52e&gt;] ubd_remove+0xb8/0xd6
 [&lt;6002bb74&gt;] ? mconsole_reply+0x0/0x50
 [&lt;6002b926&gt;] mconsole_remove+0x160/0x1cc
 [&lt;6002bbbc&gt;] ? mconsole_reply+0x48/0x50
 [&lt;6003379c&gt;] ? um_set_signals+0x3b/0x43
 [&lt;60061c55&gt;] ? update_min_vruntime+0x14/0x70
 [&lt;6006251f&gt;] ? dequeue_task_fair+0x164/0x235
 [&lt;600620aa&gt;] ? update_cfs_group+0x0/0x40
 [&lt;603a0e77&gt;] ? __schedule+0x0/0x3ed
 [&lt;60033761&gt;] ? um_set_signals+0x0/0x43
 [&lt;6002af6a&gt;] mc_work_proc+0x77/0x91
 [&lt;600520b4&gt;] process_scheduled_works+0x1af/0x2c3
 [&lt;6004ede3&gt;] ? assign_work+0x0/0x58
 [&lt;600527a1&gt;] worker_thread+0x2f7/0x37a
 [&lt;6004ee3b&gt;] ? set_pf_worker+0x0/0x64
 [&lt;6005765d&gt;] ? arch_local_irq_save+0x0/0x2d
 [&lt;60058e07&gt;] ? kthread_exit+0x0/0x3a
 [&lt;600524aa&gt;] ? worker_thread+0x0/0x37a
 [&lt;60058f9f&gt;] kthread+0x130/0x135
 [&lt;6002068e&gt;] new_thread_handler+0x85/0xb6

Cc: stable@vger.kernel.org
Signed-off-by: Tiwei Bie &lt;tiwei.btw@antgroup.com&gt;
Acked-By: Anton Ivanov &lt;anton.ivanov@cambridgegreys.com&gt;
Link: https://patch.msgid.link/20241104163203.435515-3-tiwei.btw@antgroup.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>move asm/unaligned.h to linux/unaligned.h</title>
<updated>2024-10-02T21:23:23+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2024-10-01T19:35:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5f60d5f6bbc12e782fac78110b0ee62698f3b576'/>
<id>urn:sha1:5f60d5f6bbc12e782fac78110b0ee62698f3b576</id>
<content type='text'>
asm/unaligned.h is always an include of asm-generic/unaligned.h;
might as well move that thing to linux/unaligned.h and include
that - there's nothing arch-specific in that header.

auto-generated by the following:

for i in `git grep -l -w asm/unaligned.h`; do
	sed -i -e "s/asm\/unaligned.h/linux\/unaligned.h/" $i
done
for i in `git grep -l -w asm-generic/unaligned.h`; do
	sed -i -e "s/asm-generic\/unaligned.h/linux\/unaligned.h/" $i
done
git mv include/asm-generic/unaligned.h include/linux/unaligned.h
git mv tools/include/asm-generic/unaligned.h tools/include/linux/unaligned.h
sed -i -e "/unaligned.h/d" include/asm-generic/Kbuild
sed -i -e "s/__ASM_GENERIC/__LINUX/" include/linux/unaligned.h tools/include/linux/unaligned.h
</content>
</entry>
</feed>
