Details
-
Bug
-
Resolution: Unresolved
-
Minor
-
Lustre 2.17.0
-
3
-
9223372036854775807
Description
Smatch highlight this incorrect pattern where we do an container_of from obd_device and then check it for null. Since the item we are looking for (kobj) is not the first item, the check is wrong.
637 static ssize_t grant_shrink_store(struct kobject *kobj, struct attribute *attr, 638 const char *buffer, size_t count) 639 { 640 struct obd_device *obd = container_of(kobj, struct obd_device, 641 obd_kset.kobj); 642 struct obd_import *imp; 643 bool val; 644 int rc; 645 646 if (obd == NULL) 647 return 0;
We probably should drop all these checks as otherwise we'd long be crashing all around even before these accesses?
Functions affected:
stats_free, checksum_type_show, checksum_type_store, grant_shrink_store (twice, one in mdc and one in osc)