i recently updated my app to support android 6 marshmallow. i followed the instruction on https://developer.android.com/training/permissions/requesting.html
and add
The Android 6 runtime permission android.provider.Telephony.SMS_RECEIVED
gives you permission to receive that message when it is sent by the system SMS provider.
You however are trying to broadcast that message yourself. I'm not sure that is permitted, and as you have found is not controlled by the same permission. (In fact, I assume that it has been locked down on Marshmallow so that only the system is able to notify apps of received SMS messages).