Hello Srinivas Pandruvada, The patch 49a474c7ba51: "platform/x86: Add support for Uncore frequency control" from Jan 13, 2020, leads to the following static checker warning: drivers/platform/x86/intel-uncore-frequency.c:285 uncore_remove_die_entry() error: dereferencing freed memory 'data' drivers/platform/x86/intel-uncore-frequency.c 276 /* Last CPU in this die is offline, so remove sysfs entries */ 277 static void uncore_remove_die_entry(int cpu) 278 { 279 struct uncore_data *data; 280 281 mutex_lock(&uncore_lock); 282 data = uncore_get_instance(cpu); 283 if (data) { 284 kobject_put(&data->kobj); ^^^^^^^^^^^^^^^^^^^^^^^^ This leads to a slightly delayed free. 285 data->control_cpu = -1; ^^^^^^^^^^^^^^^^^ 286 data->valid = false; ^^^^^^^^^^^ Why do we need to do this? It could lead to a use after free if we got really unlucky, right? 287 } 288 mutex_unlock(&uncore_lock); 289 } regards, dan carpenter