platform: restrict valid p_key for infiniband partitions
This commit is contained in:
@@ -5085,6 +5085,8 @@ _infiniband_partition_action (NMPlatform *platform, int parent, int p_key, const
|
|||||||
gs_free char *path = NULL;
|
gs_free char *path = NULL;
|
||||||
gs_free char *id = NULL;
|
gs_free char *id = NULL;
|
||||||
|
|
||||||
|
nm_assert (p_key > 0 && p_key <= 0xffff && p_key != 0x8000);
|
||||||
|
|
||||||
obj_parent = nmp_cache_lookup_link (priv->cache, parent);
|
obj_parent = nmp_cache_lookup_link (priv->cache, parent);
|
||||||
if (!obj_parent || !obj_parent->link.name[0])
|
if (!obj_parent || !obj_parent->link.name[0])
|
||||||
g_return_val_if_reached (FALSE);
|
g_return_val_if_reached (FALSE);
|
||||||
|
@@ -1902,7 +1902,11 @@ _infiniband_add_add_or_delete (NMPlatform *self,
|
|||||||
_CHECK_SELF (self, klass, NM_PLATFORM_ERROR_BUG);
|
_CHECK_SELF (self, klass, NM_PLATFORM_ERROR_BUG);
|
||||||
|
|
||||||
g_return_val_if_fail (parent >= 0, NM_PLATFORM_ERROR_BUG);
|
g_return_val_if_fail (parent >= 0, NM_PLATFORM_ERROR_BUG);
|
||||||
g_return_val_if_fail (p_key >= 0, NM_PLATFORM_ERROR_BUG);
|
g_return_val_if_fail (p_key >= 0 && p_key <= 0xffff, NM_PLATFORM_ERROR_BUG);
|
||||||
|
|
||||||
|
/* the special keys 0x0000 and 0x8000 are not allowed. */
|
||||||
|
if (NM_IN_SET (p_key, 0, 0x8000))
|
||||||
|
return NM_PLATFORM_ERROR_UNSPECIFIED;
|
||||||
|
|
||||||
parent_link = nm_platform_link_get (self, parent);
|
parent_link = nm_platform_link_get (self, parent);
|
||||||
if (!parent_link)
|
if (!parent_link)
|
||||||
|
Reference in New Issue
Block a user