From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============6819086308564149191==" MIME-Version: 1.0 From: kernel test robot Subject: [android-common:android-3.18 721/1128] drivers/platform/x86/alienware-wmi.c:468 alienware_hdmi_command() error: double free of 'output.pointer' Date: Sat, 08 May 2021 03:32:52 +0800 Message-ID: <202105080345.gnWszPLw-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============6819086308564149191== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org TO: cros-kernel-buildreports(a)googlegroups.com tree: https://android.googlesource.com/kernel/common android-3.18 head: 9fdc1e6e49cc95c97f3285176b0417101f5ee38e commit: 857260113eeb7c145dd939728eca0477394248f5 [721/1128] platform/x86: a= lienware-wmi: Correct a memory leak :::::: branch date: 31 hours ago :::::: commit date: 7 weeks ago config: x86_64-randconfig-m001-20210507 (attached as .config) compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/platform/x86/alienware-wmi.c:468 alienware_hdmi_command() error: do= uble free of 'output.pointer' vim +468 drivers/platform/x86/alienware-wmi.c a46ad0f13bc32a Mario Limonciello 2014-04-04 438 = a46ad0f13bc32a Mario Limonciello 2014-04-04 439 /* a46ad0f13bc32a Mario Limonciello 2014-04-04 440 The HDMI mux sysfs node = indicates the status of the HDMI input mux. a46ad0f13bc32a Mario Limonciello 2014-04-04 441 It can toggle between st= andard system GPU output and HDMI input. a46ad0f13bc32a Mario Limonciello 2014-04-04 442 */ bc2ef884320bdc Mario Limonciello 2014-05-07 443 static acpi_status alienw= are_hdmi_command(struct hdmi_args *in_args, bc2ef884320bdc Mario Limonciello 2014-05-07 444 u32 command, int *= out_data) a46ad0f13bc32a Mario Limonciello 2014-04-04 445 { a46ad0f13bc32a Mario Limonciello 2014-04-04 446 acpi_status status; a46ad0f13bc32a Mario Limonciello 2014-04-04 447 union acpi_object *obj; bc2ef884320bdc Mario Limonciello 2014-05-07 448 struct acpi_buffer input; bc2ef884320bdc Mario Limonciello 2014-05-07 449 struct acpi_buffer outpu= t; bc2ef884320bdc Mario Limonciello 2014-05-07 450 = bc2ef884320bdc Mario Limonciello 2014-05-07 451 input.length =3D (acpi_s= ize) sizeof(*in_args); bc2ef884320bdc Mario Limonciello 2014-05-07 452 input.pointer =3D in_arg= s; b6f226670369d6 Colin Ian King 2019-03-30 453 if (out_data) { bc2ef884320bdc Mario Limonciello 2014-05-07 454 output.length =3D ACPI_= ALLOCATE_BUFFER; bc2ef884320bdc Mario Limonciello 2014-05-07 455 output.pointer =3D NULL; bc2ef884320bdc Mario Limonciello 2014-05-07 456 status =3D wmi_evaluate= _method(WMAX_CONTROL_GUID, 1, bc2ef884320bdc Mario Limonciello 2014-05-07 457 command, &input= , &output); b6f226670369d6 Colin Ian King 2019-03-30 458 if (ACPI_SUCCESS(status= )) { bc2ef884320bdc Mario Limonciello 2014-05-07 459 obj =3D (union acpi_ob= ject *)output.pointer; bc2ef884320bdc Mario Limonciello 2014-05-07 460 if (obj && obj->type = =3D=3D ACPI_TYPE_INTEGER) bc2ef884320bdc Mario Limonciello 2014-05-07 461 *out_data =3D (u32)ob= j->integer.value; bc2ef884320bdc Mario Limonciello 2014-05-07 462 } b6f226670369d6 Colin Ian King 2019-03-30 463 kfree(output.pointer); b6f226670369d6 Colin Ian King 2019-03-30 464 } else { b6f226670369d6 Colin Ian King 2019-03-30 465 status =3D wmi_evaluate= _method(WMAX_CONTROL_GUID, 1, b6f226670369d6 Colin Ian King 2019-03-30 466 command, &input= , NULL); b6f226670369d6 Colin Ian King 2019-03-30 467 } 857260113eeb7c Mario Limonciello 2018-09-10 @468 kfree(output.pointer); bc2ef884320bdc Mario Limonciello 2014-05-07 469 return status; bc2ef884320bdc Mario Limonciello 2014-05-07 470 } bc2ef884320bdc Mario Limonciello 2014-05-07 471 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============6819086308564149191== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============6819086308564149191==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3400349630021660854==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: [android-common:android-3.18 721/1128] drivers/platform/x86/alienware-wmi.c:468 alienware_hdmi_command() error: double free of 'output.pointer' Date: Sat, 08 May 2021 11:06:32 +0300 Message-ID: <202105080345.gnWszPLw-lkp@intel.com> List-Id: --===============3400349630021660854== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://android.googlesource.com/kernel/common android-3.18 head: 9fdc1e6e49cc95c97f3285176b0417101f5ee38e commit: 857260113eeb7c145dd939728eca0477394248f5 [721/1128] platform/x86: a= lienware-wmi: Correct a memory leak config: x86_64-randconfig-m001-20210507 (attached as .config) compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/platform/x86/alienware-wmi.c:468 alienware_hdmi_command() error: do= uble free of 'output.pointer' vim +468 drivers/platform/x86/alienware-wmi.c bc2ef884320bdc Mario Limonciello 2014-05-07 443 static acpi_status alienw= are_hdmi_command(struct hdmi_args *in_args, bc2ef884320bdc Mario Limonciello 2014-05-07 444 u32 command, int *= out_data) a46ad0f13bc32a Mario Limonciello 2014-04-04 445 { a46ad0f13bc32a Mario Limonciello 2014-04-04 446 acpi_status status; a46ad0f13bc32a Mario Limonciello 2014-04-04 447 union acpi_object *obj; bc2ef884320bdc Mario Limonciello 2014-05-07 448 struct acpi_buffer input; bc2ef884320bdc Mario Limonciello 2014-05-07 449 struct acpi_buffer outpu= t; bc2ef884320bdc Mario Limonciello 2014-05-07 450 = bc2ef884320bdc Mario Limonciello 2014-05-07 451 input.length =3D (acpi_s= ize) sizeof(*in_args); bc2ef884320bdc Mario Limonciello 2014-05-07 452 input.pointer =3D in_arg= s; b6f226670369d6 Colin Ian King 2019-03-30 453 if (out_data) { bc2ef884320bdc Mario Limonciello 2014-05-07 454 output.length =3D ACPI_= ALLOCATE_BUFFER; bc2ef884320bdc Mario Limonciello 2014-05-07 455 output.pointer =3D NULL; bc2ef884320bdc Mario Limonciello 2014-05-07 456 status =3D wmi_evaluate= _method(WMAX_CONTROL_GUID, 1, bc2ef884320bdc Mario Limonciello 2014-05-07 457 command, &input= , &output); b6f226670369d6 Colin Ian King 2019-03-30 458 if (ACPI_SUCCESS(status= )) { bc2ef884320bdc Mario Limonciello 2014-05-07 459 obj =3D (union acpi_ob= ject *)output.pointer; bc2ef884320bdc Mario Limonciello 2014-05-07 460 if (obj && obj->type = =3D=3D ACPI_TYPE_INTEGER) bc2ef884320bdc Mario Limonciello 2014-05-07 461 *out_data =3D (u32)ob= j->integer.value; bc2ef884320bdc Mario Limonciello 2014-05-07 462 } b6f226670369d6 Colin Ian King 2019-03-30 463 kfree(output.pointer); ^^^^^^^^^^^= ^^^^^^^^^^ Freed b6f226670369d6 Colin Ian King 2019-03-30 464 } else { b6f226670369d6 Colin Ian King 2019-03-30 465 status =3D wmi_evaluate= _method(WMAX_CONTROL_GUID, 1, b6f226670369d6 Colin Ian King 2019-03-30 466 command, &input= , NULL); b6f226670369d6 Colin Ian King 2019-03-30 467 } 857260113eeb7c Mario Limonciello 2018-09-10 @468 kfree(output.pointer); ^^^^^^^^^^^^^^^^^^^= ^^ Double freed. bc2ef884320bdc Mario Limonciello 2014-05-07 469 return status; bc2ef884320bdc Mario Limonciello 2014-05-07 470 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============3400349630021660854==--