Skip to content

Commit

Permalink
Merge tag 'riscv-fixes-6.15-rc2' of ssh://gitolite.kernel.org/pub/scm…
Browse files Browse the repository at this point in the history
…/linux/kernel/git/alexghiti/linux into fixes

riscv fixes for 6.15-rc2

* Correct typos in the documentation
* Prevent module insertion failures by using kvmalloc to allocate the
  relocation hashtable.

* tag 'riscv-fixes-6.15-rc2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/alexghiti/linux:
  Documentation: riscv: Fix typo MIMPLID -> MIMPID
  riscv: Use kvmalloc_array on relocation_hashtable
  • Loading branch information
Palmer Dabbelt committed Apr 10, 2025
2 parents 0af2f6b + 70fc03c commit d6890ad
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
2 changes: 1 addition & 1 deletion Documentation/arch/riscv/hwprobe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ The following keys are defined:
* :c:macro:`RISCV_HWPROBE_KEY_MARCHID`: Contains the value of ``marchid``, as
defined by the RISC-V privileged architecture specification.

* :c:macro:`RISCV_HWPROBE_KEY_MIMPLID`: Contains the value of ``mimplid``, as
* :c:macro:`RISCV_HWPROBE_KEY_MIMPID`: Contains the value of ``mimpid``, as
defined by the RISC-V privileged architecture specification.

* :c:macro:`RISCV_HWPROBE_KEY_BASE_BEHAVIOR`: A bitmask containing the base
Expand Down
9 changes: 5 additions & 4 deletions arch/riscv/kernel/module.c
Original file line number Diff line number Diff line change
Expand Up @@ -648,7 +648,7 @@ process_accumulated_relocations(struct module *me,
kfree(bucket_iter);
}

kfree(*relocation_hashtable);
kvfree(*relocation_hashtable);
}

static int add_relocation_to_accumulate(struct module *me, int type,
Expand Down Expand Up @@ -752,9 +752,10 @@ initialize_relocation_hashtable(unsigned int num_relocations,

hashtable_size <<= should_double_size;

*relocation_hashtable = kmalloc_array(hashtable_size,
sizeof(**relocation_hashtable),
GFP_KERNEL);
/* Number of relocations may be large, so kvmalloc it */
*relocation_hashtable = kvmalloc_array(hashtable_size,
sizeof(**relocation_hashtable),
GFP_KERNEL);
if (!*relocation_hashtable)
return 0;

Expand Down

0 comments on commit d6890ad

Please sign in to comment.