The answer is in the name, supervisor state is for code in the supervisor. Does your code have a legitimate need for supervisor state?
Where there is a need for such code, that is not required to be a permanent part of the supervisor in DOS(/VS,/VSE,etc), it can be in a ??B transient routine,
which is the technique DOS uses for things like file open logic, but it has a high overhead per use.
I believe programs like DITTO use this approach by adding an additional ??B transient for legitimate required extra function.
Alternatively you could add an extra SVC to the supervisor if you wish it to have a gaping integrity hole for any rogue or faulty user code.
Regards
Eddy Balem