Re: [PATCH v7] module: replace module_layout with module_memory
From: Peter Zijlstra <peterz@infradead.org>
Date: 2023-02-01 21:24:22
Also in:
lkml
From: Peter Zijlstra <peterz@infradead.org>
Date: 2023-02-01 21:24:22
Also in:
lkml
On Wed, Feb 01, 2023 at 10:44:22AM -0800, Song Liu wrote:
static ssize_t show_datasize(struct module_attribute *mattr,
struct module_kobject *mk, char *buffer)
{
- return sprintf(buffer, "%u\n", mk->mod->data_layout.size);
+ unsigned int size = 0;
+
+ for_class_mod_mem_type(type, core) {
+ if (type == MOD_TEXT)
+ continue;isn't this the same as: for_class_mod_mem_type(type, core_data) ?
+ size += mk->mod->mem[type].size; + } + return sprintf(buffer, "%u\n", size); }
- lockdep_free_key_range(mod->data_layout.base, mod->data_layout.size);
+ for_class_mod_mem_type(type, core) {
+ lockdep_free_key_range(mod->mem[type].base,
+ mod->mem[type].size);
+ }Why the core_data to core change? Specifically the difference seems to be you now include text. Now, we shouldn't be having lockdep keys in text, so it's harmless, still a bit weird. Anyway, looks real good to me otherwise. Thanks!