X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fdp_sysfs_dp.c;h=587b8bc2d5e40c17e379979e5ab71ef6b22b0260;hb=2c6d841118a6b14cc5b03fc3b549143a6b7ce143;hp=6cbd864180fb57b3eba5f7c9370888263892bb70;hpb=33b38b63e42c1f5aa80d1d7b4ce79cfbe371fae3;p=openvswitch diff --git a/datapath/dp_sysfs_dp.c b/datapath/dp_sysfs_dp.c index 6cbd8641..587b8bc2 100644 --- a/datapath/dp_sysfs_dp.c +++ b/datapath/dp_sysfs_dp.c @@ -350,7 +350,8 @@ static struct attribute_group bridge_group = { */ int dp_sysfs_add_dp(struct datapath *dp) { - struct kobject *kobj = vport_get_kobj(dp->ports[ODPP_LOCAL]); + struct kobject *kobj = + vport_get_kobj(rtnl_dereference(dp->ports[ODPP_LOCAL])); int err; /* Create /sys/class/net//bridge directory. */ @@ -379,7 +380,8 @@ int dp_sysfs_add_dp(struct datapath *dp) int dp_sysfs_del_dp(struct datapath *dp) { - struct kobject *kobj = vport_get_kobj(dp->ports[ODPP_LOCAL]); + struct kobject *kobj = + vport_get_kobj(rtnl_dereference(dp->ports[ODPP_LOCAL])); kobject_del(&dp->ifobj); sysfs_remove_group(kobj, &bridge_group);