The mutex and event opcodes come to mind, the AML can wait forever on these (Acquire, Wait). However, the interpreter is released when these opcodes block, quite unlike a spinning while loop. As far as infinite spin loops, I think While() is the only case. There is no GoTo AML operator, so loops cannot be artificially created. So, I think the loop counter idea is ok. Of course, picking a maximum number might be a bit difficult. 64K loop iterations takes 4-5 seconds on my machine here (in Ring 3). That is a lot of loops for AML code, it might be ok. Besides, we can say "nobody would ever need more than 64K loop iterations", and get ourselves in the computer hall of fame. :-) Bob >-----Original Message----- >From: Len Brown [mailto:lenb@xxxxxxxxxx] >Sent: Thursday, October 09, 2008 9:32 AM >To: Moore, Robert >Cc: Alexey Starikovskiy; Linux-acpi@xxxxxxxxxxxxxxx >Subject: RE: [PATCH] ACPICA: Add hard limit to while loop > > >Are AML while loops our only exposure to getting stuck interpreting AML >forever? > >Maybe there is a more general solution that would cover everything, such >as counting opcodes or setting a watchdog timer? > >thanks, >-Len -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html