[ltt-dev] syscall id limited to 16 bits

Mathieu Desnoyers compudj at krystal.dyndns.org
Mon Aug 24 10:35:08 EDT 2009


* Matthieu CASTET (matthieu.castet at parrot.com) wrote:
> Hi,
> 
> in the ltt patch used for 2.6.27, syscall trace only report the syscall
> id on 16 bits [1].
> 
> This is wrong. For example on arm, there are private arch syscall in the
> range 0xf0000-0xfffff (for example set_tls).
> For this syscall the kernel.syscall_entry trace get the id truncated.
> 

Patches would be welcome ;)

Mathieu

> 
> Matthieu
> 
> 
> [1] look at the (unsigned short) cast on id
> +notrace void probe_syscall_entry(struct pt_regs *regs, long id)
> +{
> +       struct marker *marker;
> +       struct serialize_long_short data;
> +
> +       data.f1 = instruction_pointer(regs);
> +       data.f2 = (unsigned short)id;
> +
> +       marker = &GET_MARKER(kernel, syscall_entry);
> +       ltt_specialized_trace(marker, marker->single.probe_private,
> +               &data, serialize_sizeof(data), sizeof(long));
> +}
> 
> 
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
> 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68




More information about the lttng-dev mailing list