"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/lttng-abi.c" between
lttng-modules-2.13.2.tar.bz2 and lttng-modules-2.13.3.tar.bz2

About: LTTng-modules (Linux Trace Toolkit Next Generation) is a system software package for correlated tracing of the Linux kernel, applications and libraries: This package contains the Linux kernel tracing modules.

lttng-abi.c  (lttng-modules-2.13.2.tar.bz2):lttng-abi.c  (lttng-modules-2.13.3.tar.bz2)
skipping to change at line 653 skipping to change at line 653
int64_t value; int64_t value;
int32_t cpu; int32_t cpu;
int ret; int ret;
if (copy_from_user(&local_counter_read, ucounter_read, if (copy_from_user(&local_counter_read, ucounter_read,
sizeof(local_counter_read))) sizeof(local_counter_read)))
return -EFAULT; return -EFAULT;
if (validate_zeroed_padding(local_counter_read.padding, if (validate_zeroed_padding(local_counter_read.padding,
sizeof(local_counter_read.padding))) sizeof(local_counter_read.padding)))
return -EINVAL; return -EINVAL;
if (local_counter_read.index.number_dimensions > LTTNG_KERNEL_ABI
_COUNTER_DIMENSION_MAX)
return -EINVAL;
/* Cast all indexes into size_t. */ /* Cast all indexes into size_t. */
for (i = 0; i < local_counter_read.index.number_dimensions; i++) for (i = 0; i < local_counter_read.index.number_dimensions; i++)
indexes[i] = (size_t) local_counter_read.index.dimension_ indexes[i]; indexes[i] = (size_t) local_counter_read.index.dimension_ indexes[i];
cpu = local_counter_read.cpu; cpu = local_counter_read.cpu;
ret = lttng_kernel_counter_read(counter, indexes, cpu, &value, ret = lttng_kernel_counter_read(counter, indexes, cpu, &value,
&overflow, &underflow); &overflow, &underflow);
if (ret) if (ret)
return ret; return ret;
skipping to change at line 688 skipping to change at line 690
bool overflow, underflow; bool overflow, underflow;
int64_t value; int64_t value;
int ret; int ret;
if (copy_from_user(&local_counter_aggregate, ucounter_aggregate, if (copy_from_user(&local_counter_aggregate, ucounter_aggregate,
sizeof(local_counter_aggregate))) sizeof(local_counter_aggregate)))
return -EFAULT; return -EFAULT;
if (validate_zeroed_padding(local_counter_aggregate.padding, if (validate_zeroed_padding(local_counter_aggregate.padding,
sizeof(local_counter_aggregate.padding))) sizeof(local_counter_aggregate.padding)))
return -EINVAL; return -EINVAL;
if (local_counter_aggregate.index.number_dimensions > LTTNG_KERNE
L_ABI_COUNTER_DIMENSION_MAX)
return -EINVAL;
/* Cast all indexes into size_t. */ /* Cast all indexes into size_t. */
for (i = 0; i < local_counter_aggregate.index.number_dimensions; i++) for (i = 0; i < local_counter_aggregate.index.number_dimensions; i++)
indexes[i] = (size_t) local_counter_aggregate.index.dimen sion_indexes[i]; indexes[i] = (size_t) local_counter_aggregate.index.dimen sion_indexes[i];
ret = lttng_kernel_counter_aggregate(counter, indexes, &value, ret = lttng_kernel_counter_aggregate(counter, indexes, &value,
&overflow, &underflow); &overflow, &underflow);
if (ret) if (ret)
return ret; return ret;
local_counter_aggregate.value.value = value; local_counter_aggregate.value.value = value;
skipping to change at line 719 skipping to change at line 723
struct lttng_kernel_abi_counter_clear local_counter_clear; struct lttng_kernel_abi_counter_clear local_counter_clear;
struct lttng_kernel_abi_counter_clear __user *ucounter_clear = struct lttng_kernel_abi_counter_clear __user *ucounter_clear =
(struct lttng_kernel_abi_counter_clear __user *) arg; (struct lttng_kernel_abi_counter_clear __user *) arg;
if (copy_from_user(&local_counter_clear, ucounter_clear, if (copy_from_user(&local_counter_clear, ucounter_clear,
sizeof(local_counter_clear))) sizeof(local_counter_clear)))
return -EFAULT; return -EFAULT;
if (validate_zeroed_padding(local_counter_clear.padding, if (validate_zeroed_padding(local_counter_clear.padding,
sizeof(local_counter_clear.padding))) sizeof(local_counter_clear.padding)))
return -EINVAL; return -EINVAL;
if (local_counter_clear.index.number_dimensions > LTTNG_KERNEL_AB
I_COUNTER_DIMENSION_MAX)
return -EINVAL;
/* Cast all indexes into size_t. */ /* Cast all indexes into size_t. */
for (i = 0; i < local_counter_clear.index.number_dimensions; i++) for (i = 0; i < local_counter_clear.index.number_dimensions; i++)
indexes[i] = (size_t) local_counter_clear.index.dimension _indexes[i]; indexes[i] = (size_t) local_counter_clear.index.dimension _indexes[i];
return lttng_kernel_counter_clear(counter, indexes); return lttng_kernel_counter_clear(counter, indexes);
} }
default: default:
WARN_ON_ONCE(1); WARN_ON_ONCE(1);
return -ENOSYS; return -ENOSYS;
 End of changes. 3 change blocks. 
0 lines changed or deleted 9 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)