Where can I find information on memremap behavior?
Siddh Raman Pant
sanganaka at siddh.me
Fri Feb 3 07:03:47 EST 2023
On Fri, 03 Feb 2023 16:28:18 +0530, Anton Gusev wrote
> I am trying to investigate a potential NULL dereference
> in drivers/firmware/efi/efi.c in the function efi_mem_reserve_persistent.
>
> In it, a result of memremap call is dereferenced without null checks.
> I'd like to understand if it's an error or if there is some sort of invariant that guarantees
> it will never return NULL.
Indeed, every pointer which can be NULL must be checked for it.
The code should check the returned value in rsv for NULL and break.
> For this I need to know when memremap (or the underlying ioremap, I guess)
> might return NULL. Just looking into its source code didn't give me much insight.
>
> Do you know any articles/documentation on how memremap and/or ioremap work?
>
> What topics should I study to understand more about it?
There's an article on LWN: https://lwn.net/Articles/653585/, though
if you want to understand the mechanics, it seems like you will have
to dive into the code.
But your observation is indeed correct. You should send a patch.
Fixes tag may have 18df7577adae6.
Thanks,
Siddh
More information about the Kernelnewbies
mailing list