[patch] Fix bug of syscall.lseek's offset
Lai Jiangshan
laijs@cn.fujitsu.com
Tue Sep 4 15:27:00 GMT 2007
hi, all
How about the following patch? Is there any problem?
Lai Jiangshan wrote:
> hi, all
> "offset = __int32($offset)" was found in syscalls.stp(syscall.lseek),
> it was wrong on IA64. All the other "offset" in tapset are not converted
> to 32bit integer.
>
> the following patch can fix this bug
>
> Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
>
> diff -Nur systemtap-20070818/tapset/syscalls.stp
> systemtap-20070818-new/tapset/syscalls.stp
> --- systemtap-20070818/tapset/syscalls.stp 2007-08-18
> 00:05:11.000000000 +0900
> +++ systemtap-20070818-new/tapset/syscalls.stp 2007-08-21
> 15:53:45.000000000 +0900
> @@ -2008,7 +2008,7 @@
> probe syscall.lseek = kernel.function("sys_lseek") {
> name = "lseek"
> fildes = $fd
> - offset = __int32($offset)
> + offset = $offset
> whence = $origin
> whence_str = _seek_whence_str($origin)
> argstr = sprintf("%d, %d, %s", $fd, offset, whence_str)
>
>
> best regards!
> Lai Jiangshan
>
>
More information about the Systemtap
mailing list