/* In this function, we check whether the target bundle modifies IP or it triggers an exception. If so, it cannot be boostable.  */
static int __kprobes can_boost(bundle_t *bundle, uint slot, unsigned long bundle_addr)
/* In this function, we check whether the target bundle modifies IP or it triggers an exception. If so, it cannot be boostable.  */
static int __kprobes can_boost(bundle_t *bundle, uint slot, unsigned long bundle_addr)
{
	unsigned int template = bundle->quad0.template;
	do {
		if (search_exception_tables(bundle_addr + slot) ||
		    __is_ia64_break_inst(bundle, slot))
			return 0;
	} while ((++slot) < 3);
	template &= 0x1e;
	if (template >= 0x10 ||
	    template == 0x04 ||
	    template == 0x06)
		return 0;
	return 1;
}