weird smoothing issues
There might be few point that you want to know:


You don't get enough subdivision times, usually not going further then 2~3 times. Ctrl1~0 within object mode can set sub-modifier.
Your mask (I guest?) topologies are not suitable for subdivide, it has some holes with special case that blender nowadays can not resolve well. See the reference: Subdivide 
The smooth shading AFAICT use Gouraud Shading in the view-port fast rendering. There is fake normal in the calculating pipeline, you might confused that by another common shading: Phong Shading.  


No need to worried about it since in Cycles render, it use try tracing with other method to calculate the color and normal.