On Tue, Nov 19, 2024 at 09:07:45AM -0800, Breno Leitao wrote: > > > #endif > > > bool enabled; > > > bool extended; > > > > > + /* Check if CPU NR should be populated, and append it to the user > > > + * dictionary. > > > + */ > > > + if (child_count < MAX_USERDATA_ITEMS && nt->userdata_auto & AUTO_CPU_NR) > > > + scnprintf(&nt->userdata_complete[complete_idx], > > > + MAX_USERDATA_ENTRY_LENGTH, " cpu=%u\n", > > > + raw_smp_processor_id()); > > > > I guess it may be tricky for backward compat, but shouldn't we return > > an error rather than silently skip? > > yes, this should be easy to do, in fact. Probably return -E2BIG to > userspace when trying to update the entry. I thought about something as > the following patch, and piggy-back into it. Back to this topic, in fact, this is not needed at all. The configfs make item helper (userdatum_make_item()) checks for exceeding entries, and fails if an additional entry is created. static struct config_item *userdatum_make_item(struct config_group *group, const char *name) { .... child_count = list_count_nodes(&nt->userdata_group.cg_children); if (child_count >= MAX_USERDATA_ITEMS) return ERR_PTR(-ENOSPC); I've sent an additional test for this mechanism, and make the check in update_userdata() a warning instead of just silently dropping the entry. https://lore.kernel.org/all/20241204-netcons_overflow_test-v1-0-a85a8d0ace21@xxxxxxxxxx/