mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-15 05:57:26 +03:00
dissect: when dissecting block devices, ignore weird MMC RPMB partitions (#6165)
For now, let's just special-case this in the sources. If more partition types like this show up we should probably find some other solution. Fixes: #5806
This commit is contained in:
parent
670d494690
commit
7be1420f44
@ -301,7 +301,7 @@ int dissect_image(int fd, const void *root_hash, size_t root_hash_size, DissectI
|
|||||||
_cleanup_udev_device_unref_ struct udev_device *q;
|
_cleanup_udev_device_unref_ struct udev_device *q;
|
||||||
unsigned long long pflags;
|
unsigned long long pflags;
|
||||||
blkid_partition pp;
|
blkid_partition pp;
|
||||||
const char *node;
|
const char *node, *sysname;
|
||||||
dev_t qn;
|
dev_t qn;
|
||||||
int nr;
|
int nr;
|
||||||
|
|
||||||
@ -316,6 +316,12 @@ int dissect_image(int fd, const void *root_hash, size_t root_hash_size, DissectI
|
|||||||
if (st.st_rdev == qn)
|
if (st.st_rdev == qn)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/* Filter out weird MMC RPMB partitions, which cannot reasonably be read, see
|
||||||
|
* https://github.com/systemd/systemd/issues/5806 */
|
||||||
|
sysname = udev_device_get_sysname(q);
|
||||||
|
if (sysname && startswith(sysname, "mmcblk") && endswith(sysname, "rpmb"))
|
||||||
|
continue;
|
||||||
|
|
||||||
node = udev_device_get_devnode(q);
|
node = udev_device_get_devnode(q);
|
||||||
if (!node)
|
if (!node)
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user