On 12/9/19 1:40 PM, Greg KH wrote: > On Mon, Dec 09, 2019 at 10:28:23AM +0530, Sourabh Jain wrote: >> +#define CREATE_SYMLINK(target, symlink_name) do {\ >> + rc = compat_only_sysfs_link_entry_to_kobj(kernel_kobj, fadump_kobj, \ >> + target, symlink_name); \ >> + if (rc) \ >> + pr_err("unable to create %s symlink (%d)", symlink_name, rc); \ >> +} while (0) > > > No need for a macro, just spell it all out. And properly clean up if an > error happens, you are just printing it out and moving on, which is > probably NOT what you want to do, right? Yeah actually there is no point in keeping the fadump_enabled symlink if fadump_registered symlink creation fails. And it is even better to unregister the FADump if fadump_group creation fails. > >> +static struct attribute_group fadump_group = { >> + .attrs = fadump_attrs, >> +}; > > ATTRIBUTE_GROUPS()? Thanks, I will use this macro. -Sourabh Jain