user11761: BIP0016 says "Validation fails if there are any operations other than "push data" operations in the scriptSig".
What does it mean "push data operations"? OP_CHECKMULTISIG seems to be allowed but does not look like "push data" to me.

user11123: 
What does it mean "push data operations"?

Push data operations are when a script pushes a byte vector into the stack. Examples are pushing signatures, public keys, or scripts. It excludes all script opcodes apart from OP_PUSHDATA1, OP_PUSHDATA2, OP_PUSHDATA3. 

OP_CHECKMULTISIG seems to be allowed but does not look like "push data" to me.
  OP_CHECKMULTISIG is an opcode, however, since it's actually contained in a byte vector. You are pushing a full script to the stack, instead of just pushing the opcode.

So, if you look at a P2SH scriptSig:

...signatures... {scriptLength}{script}

You'll see that OP_CHECKMULTISIG is contained within {script} instead of being directly executed by whatever is parsing the scriptSig. 

11761: <p><a href="https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki" rel="nofollow">BIP0016</a> says <code>"Validation fails if there are any operations other than "push data" operations in the scriptSig"</code>.</p>

<p>What does it mean "push data operations"? <code>OP_CHECKMULTISIG</code> seems to be allowed but does not look like "push data" to me.</p>
 11123: <blockquote>
  <p>What does it mean "push data operations"?</p>
</blockquote>

<p>Push data operations are when a script pushes a byte vector into the stack. Examples are pushing signatures, public keys, or scripts. It excludes all script opcodes apart from OP_PUSHDATA1, OP_PUSHDATA2, OP_PUSHDATA3. </p>

<blockquote>
  <p>OP_CHECKMULTISIG seems to be allowed but does not look like "push data" to me.
  OP_CHECKMULTISIG is an opcode, however, since it's actually contained in a byte vector. You are pushing a full script to the stack, instead of just pushing the opcode.</p>
</blockquote>

<p>So, if you look at a P2SH scriptSig:</p>

<blockquote>
  <p>...signatures... {scriptLength}{script}</p>
</blockquote>

<p>You'll see that OP_CHECKMULTISIG is contained within {script} instead of being directly executed by whatever is parsing the scriptSig. </p>
