lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Tue, 12 Feb 2008 15:38:07 -0800
From:	"Moore, Robert" <robert.moore@...el.com>
To:	"Len Brown" <lenb@...nel.org>,
	"Andrew Patterson" <andrew.patterson@...com>
Cc:	<linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
	<gregkh@...e.de>, <matthew@....cx>,
	"Nguyen, Tom L" <tom.l.nguyen@...el.com>,
	<linux-acpi@...r.kernel.org>
Subject: RE: [PATCH 3/4] ACPI: Check for any matching CID when walking namespace.

Ok, I've rolled this in:

			/* Walk the CID list */

			found = FALSE;
			for (i = 0; i < cid->count; i++) {
				if (ACPI_STRNCMP (cid->id[i].value,
info->hid,
						sizeof (struct
acpi_compatible_id)) == 0) {

					/* Found a matching CID */

					found = TRUE;
					break;
				}
			}

			ACPI_FREE (cid);
			if (!found) {
				return (AE_OK);
			}
		}
	}

	/* We have a valid device, invoke the user function */

	status = info->user_function (obj_handle, nesting_level,
info->context,
			 return_value);
	return (status);
}


Thanks,
Bob


>-----Original Message-----
>From: Len Brown [mailto:lenb@...nel.org]
>Sent: Wednesday, January 23, 2008 11:40 AM
>To: Andrew Patterson; Moore, Robert
>Cc: linux-pci@...r.kernel.org; linux-kernel@...r.kernel.org;
>gregkh@...e.de; matthew@....cx; Nguyen, Tom L;
linux-acpi@...r.kernel.org
>Subject: Re: [PATCH 3/4] ACPI: Check for any matching CID when walking
>namespace.
>
>Right Greg, this is not only an ACPI patch,
>but a patch that touches the ACPICA core.
>Lets get Bob to see if it applies to the latest upstream ACPICA code.
>
>Andrew,
>Do you give Intel permission to accept this patch under
>both licenses on the top of the file, such that we can
>re-distribute it in ACPICA to all the OSs that use ACPICA?
>
>(hey, and check out the spiffy new acpica home page: http://acpica.org/
)
>
>thanks,
>-Len
>
>On Tuesday 22 January 2008 19:18, Andrew Patterson wrote:
>> From: Andrew Patterson <andrew.patterson@...com>
>>
>> The callback function acpi_ns_get_device_callback called from
>> acpi_get_devices() will check CID's if the HID does not match.  This
code
>> has a bug where it requires that all CIDs match the HID. Changed the
code
>> so that any CID match will do.
>>
>> Signed-off-by: Andrew Patterson <andrew.patterson@...com>
>> ---
>>
>>  drivers/acpi/namespace/nsxfeval.c |   11 ++++++++---
>>  1 files changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/acpi/namespace/nsxfeval.c
>b/drivers/acpi/namespace/nsxfeval.c
>> index f39fbc6..e562b24 100644
>> --- a/drivers/acpi/namespace/nsxfeval.c
>> +++ b/drivers/acpi/namespace/nsxfeval.c
>> @@ -443,6 +443,7 @@ acpi_ns_get_device_callback(acpi_handle
obj_handle,
>>  	struct acpica_device_id hid;
>>  	struct acpi_compatible_id_list *cid;
>>  	acpi_native_uint i;
>> +	int found;
>>
>>  	status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE);
>>  	if (ACPI_FAILURE(status)) {
>> @@ -496,16 +497,20 @@ acpi_ns_get_device_callback(acpi_handle
obj_handle,
>>
>>  			/* Walk the CID list */
>>
>> +			found = 0;
>>  			for (i = 0; i < cid->count; i++) {
>>  				if (ACPI_STRNCMP(cid->id[i].value,
info->hid,
>>  						 sizeof(struct
>> -
acpi_compatible_id)) !=
>> +
acpi_compatible_id)) ==
>>  				    0) {
>> -					ACPI_FREE(cid);
>> -					return (AE_OK);
>> +					found = 1;
>> +					break;
>>  				}
>>  			}
>>  			ACPI_FREE(cid);
>> +			if (!found) {
>> +				return (AE_OK);
>> +			}
>>  		}
>>  	}
>>
>>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ