[dm-devel] [PATCH 3/3] libmultipath: check return value of udev_device_get_devnum()

Benjamin Marzinski bmarzins at redhat.com
Wed Feb 3 23:21:22 UTC 2021


On Tue, Feb 02, 2021 at 10:41:31PM +0100, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
> 
> udev_device_get_devnum() may fail, in which case it returns
> makedev(0, 0).
> 
Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
>  libmultipath/discovery.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
> index 921025d..15cf641 100644
> --- a/libmultipath/discovery.c
> +++ b/libmultipath/discovery.c
> @@ -1659,6 +1659,9 @@ common_sysfs_pathinfo (struct path * pp)
>  		return PATHINFO_FAILED;
>  	}
>  	devt = udev_device_get_devnum(pp->udev);
> +	if (major(devt) == 0 && minor(devt) == 0)
> +		return PATHINFO_FAILED;
> +
>  	snprintf(pp->dev_t, BLK_DEV_SIZE, "%d:%d", major(devt), minor(devt));
>  
>  	condlog(4, "%s: dev_t = %s", pp->dev, pp->dev_t);
> -- 
> 2.29.2




More information about the dm-devel mailing list