Changeset 8498915 in mainline for kernel/generic/src/ipc/sysipc.c


Ignore:
Timestamp:
2007-11-22T09:09:04Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0cc4313
Parents:
b74959bd
Message:

Be more deterministic when a user accidently uses fast version of IPC
call/answer instead of the full one and passes fewer arguments than required by
the recipient of the call/response.

and the recipient interprets arguments that
were actually not passed by the sender.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/sysipc.c

    rb74959bd r8498915  
    378378        IPC_SET_ARG2(call.data, arg2);
    379379        IPC_SET_ARG3(call.data, arg3);
     380        /*
     381         * To achieve deterministic behavior, zero out arguments that are beyond
     382         * the limits of the fast version.
     383         */
     384        IPC_SET_ARG4(call.data, 0);
     385        IPC_SET_ARG5(call.data, 0);
    380386
    381387        if (!(res = request_preprocess(&call))) {
     
    478484        IPC_SET_ARG3(call->data, arg3);
    479485        IPC_SET_ARG4(call->data, arg4);
     486        /*
     487         * To achieve deterministic behavior, zero out arguments that are beyond
     488         * the limits of the fast version.
     489         */
     490        IPC_SET_ARG5(call->data, 0);
    480491
    481492        if (!(res = request_preprocess(call)))
     
    624635        IPC_SET_ARG3(call->data, arg3);
    625636        IPC_SET_ARG4(call->data, arg4);
     637        /*
     638         * To achieve deterministic behavior, zero out arguments that are beyond
     639         * the limits of the fast version.
     640         */
     641        IPC_SET_ARG5(call->data, 0);
    626642        rc = answer_preprocess(call, saveddata ? &saved_data : NULL);
    627643
Note: See TracChangeset for help on using the changeset viewer.