On 2 March 2018 at 00:37, Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> wrote: > This code should check the return value of seq_open(); if it failed, > file->private_data is NULL. But we can avoid the issue entirely and > simplify the code by letting seq_open_data() set the ->private member > to objbuf. > > if ((e = sn_hwperf_enum_objects(&nobj, &objbuf)) == 0) { > - e = seq_open(file, &sn_topology_seq_ops); > - seq = file->private_data; > - seq->private = objbuf; > + e = seq_open_data(file, &sn_topology_seq_ops, objbuf); > } Well, this turns a NULL deref into a resource leak; we still need to add a check of the return value and vfree(objbuf) on failure. Rasmus -- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |