Description
In the Linux kernel, the following vulnerability has been resolved: md/raid1: create serial pool adding rdev to array with serialize_policy=1 The following bug has been observed with kernel 7.1.3 after adding a new rdev to an existing RAID1 array with serialize_policy enabled: Oops: 0002 [#1] CPU: 0 UID: 0 PID: 19639 Comm: ext4lazyinit Not tainted 7.1.3-1-default RIP: _raw_spin_lock_irqsave+0x27/0x50 CR2: 0000000000004960 Call Trace: wait_for_serialization+0xb9/0x260 [raid1] raid1_make_request+0x762/0xaff [raid1] md_handle_request+0x1c9/0x2e0 [md_mod] The raid1.c code calls wait_for_serialization() if the MD_SERIALIZE_POLICY is set, and wait_for_serialization assumes that rdev->serial is initialized. Normally this will be the case for arrays that have the serialize_policy sysfs attribute set to 1. But when a new rdev is added to an existing array in bind_rdev_to_array(), the condition at mddev_create_serial_pool() causes creation of rdev->serial to be skipped. Fix it.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
69b00b5bb23552d43e8bbed73ef6624604bb94a2 to < 0b187e14dab458d54425fc400f1e1e8d481d9bcfaffected69b00b5bb23552d43e8bbed73ef6624604bb94a2 to < f9e4364449f7ca6917f3599eb32064dba5b7b147affected69b00b5bb23552d43e8bbed73ef6624604bb94a2 to < 37f11973c3eb72a5eb061082cad529bb6939c24faffected69b00b5bb23552d43e8bbed73ef6624604bb94a2 to < c02d675e81468003e4f2253b616c53729070d712affected69b00b5bb23552d43e8bbed73ef6624604bb94a2 to < 140234b2380ffb8ffb0cfc46fee0e822f43adef7affected
Linux Linux
Default version status: affected
5.6affected0 to < 5.6unaffected6.6.160 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/0b187e14dab458d54425fc400f1e1e8d481d9bcf ↗
- https://git.kernel.org/stable/c/f9e4364449f7ca6917f3599eb32064dba5b7b147 ↗
- https://git.kernel.org/stable/c/37f11973c3eb72a5eb061082cad529bb6939c24f ↗
- https://git.kernel.org/stable/c/c02d675e81468003e4f2253b616c53729070d712 ↗
- https://git.kernel.org/stable/c/140234b2380ffb8ffb0cfc46fee0e822f43adef7 ↗