Political superiors should be subject to criticism by military generals, but not in a public setting. Gen. Douglas MacArthur made the mistake of publicly criticizing Harry Truman's handling of the Korean War. Truman then relieved MacArthur of command, which changed the tone of the war. It's okay to privately criticize or disagree with a superior not in the chain of command, but ultimately any action in wartime comes down to the president of the United States.
I believe all people should be able to accept criticism from anyone. This would include political superiors. I believe that people in politics should be especially open to criticism because they are working for the people. If they do listen to criticisms and try to improve based on them, then they can't fully perform their job.
Political superiors should be subject to criticism by generals. This is what they should have expected before taking the position in the first place. Sometimes politicians need to be challenged and given some feedback on the issue that they are facing. I think it is important for them to be able to face the criticism.
I think that a general is in the perfect position to criticize their political superiors. This is mainly because many of these "political superiors" need to be put in their place. Who better to do it than some hot tempered general. They are use to giving orders and will get those politicians under control.
I'm looking at these political superiors and their generals (as an American) through a corporate contextual lens. In a private corporation, the tier of executives underneath the CEO (which is what the generals are) would not dare speak out like that for fear of losing their jobs. They must appear supportive or resign. Same principle should apply with the government and military.