There a lot more subtlety to this than you seem to indicate.
I’d never give negative feedback to an exec (+2 levels above me) in a large meeting. I’d wait for a more private setting.
With my immediate boss (director) I’d provide feedback in a small “managers only” group if I thought there was something to debate as a group, but not an open team meeting.
But your comments about subordinates is true. Generally try to keep feedback positive/constructive. And time it so they don’t feel attacked.
For (most) management. Absolutely do NOT do this:
"I’d wait for a more private setting."
Only do this IF you think management is well adjusted human being that is not ego driven. I leave it to reader to decide exactly how much of management falls into that bin.
If management is not, they will know that you are a threat to them and work to undermine you and get you removed. If you provide feedback publically they can less afford the reputational hit (if you're correct in your publically aired assessments).
In either case you must play nice with your coworkers and subordinates.
Fair point. “More private” not 1-on-1. I’d probably have my manager in that conversation (and quite possibly run my thoughts by them before offering them to the exec).
Fully agreed. I would consider not pointing at people's faults in a public setting to be basic etiquette.