Re: Possible broken MM code in dell-laptop.c?

Darren Hart
2015-06-15T20:36:59Z

On Sun, Jun 14, 2015 at 11:05:07AM +0200, Pali Rohár wrote:
> Hello,
>
> in drivers/platform/x86/dell-laptop.c is this part of code:
>
> static int __init dell_init(void)
> {
> ...
> /*
> * Allocate buffer below 4GB for SMI data--only 32-bit physical addr
> * is passed to SMI handler.
> */
> bufferpage = alloc_page(GFP_KERNEL | GFP_DMA32);
> if (!bufferpage) {
> ret = -ENOMEM;
> goto fail_buffer;
> }
> buffer = page_address(bufferpage);
>
> ret = dell_setup_rfkill();
>
> if (ret) {
> pr_warn("Unable to setup rfkill\n");
> goto fail_rfkill;
> }
> ...
> fail_rfkill:
> free_page((unsigned long)bufferpage);
> fail_buffer:
> ...
> }
>
> Then there is another part:
>
> static void __exit dell_exit(void)
> {
> ...
> free_page((unsigned long)buffer);

I believe you are correct, and this should be bufferpage. Have you observed any
failures?

--
Darren Hart
Intel Open Source Technology Center