dann frazier wrote: > salinfo_decode will silently exit occasionally due to a failed open > of /proc/sal/XXX/data. This is because the kernel is returning -ENOMEM > after attempting to vmalloc a buffer of size > ia64_sal_get_state_info_size(data->type). > > However, on my system ia64_sal_get_state_info_size is returning 0, in > which case I'd think a NULL vmalloc() result is correct. > > This patch assumes, of course, that 0 is a reasonable return value from > ia64_sal_get_state_info_size(). > I'm working on fixing this up ... The issue here is that ia64_sal_get_state_info_size is not doing any test on ia64_sal_retval.status other than to return 0. 0 is a reasonable return on an error, but :) as you noted the caller better be watching for it. Dann, this patch will at least tell you what that return value is and might a) indicate a bigger bug, or b) indicate what's wrong with your platform ;). (Patch is against Tony's latest tree) P. > diff --git a/include/asm-ia64/sal.h b/include/asm-ia64/sal.h --- a/include/asm-ia64/sal.h +++ b/include/asm-ia64/sal.h @@ -700,8 +700,11 @@ ia64_sal_get_state_info (u64 sal_info_ty struct ia64_sal_retval isrv; SAL_CALL_REENTRANT(isrv, SAL_GET_STATE_INFO, sal_info_type, 0, sal_info, 0, 0, 0, 0); - if (isrv.status) + if (isrv.status) { + printk("ia64_sal_get_state_info failed: %s\n", + ia64_sal_strerror(isrv.status)); return 0; + } return isrv.v0; } - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Sat Jan 28 09:46:25 2006
This archive was generated by hypermail 2.1.8 : 2006-01-28 09:46:34 EST