AFAIK, the showexec mount parameter that you're already using handles the executable files just fine, and it won't be affected by the dmask change.
Output from a patched udisks2 with dmask dropped:
alkisg@pc ~ $ grep vfat /proc/self/mountinfo 35 22 8:33 / /media/alkisg/usbstick rw,nosuid,nodev,relatime - vfat /dev/sdc1 rw,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro alkisg@pc ~ $ cd /media/alkisg/usbstick/ alkisg@pc /media/alkisg/usbstick $ touch test.exe test.com test.bat test.txt alkisg@pc /media/alkisg/usbstick $ ls -lha test.* -rwxr-xr-x 1 alkisg alkisg 0 Jan 20 19:21 test.bat -rwxr-xr-x 1 alkisg alkisg 0 Jan 20 19:21 test.com -rwxr-xr-x 1 alkisg alkisg 0 Jan 20 19:21 test.exe -rw-r--r-- 1 alkisg alkisg 0 Jan 20 19:21 test.txt
AFAIK, the showexec mount parameter that you're already using handles the executable files just fine, and it won't be affected by the dmask change.
Output from a patched udisks2 with dmask dropped:
alkisg@pc ~ $ grep vfat /proc/self/ mountinfo alkisg/ usbstick rw,nosuid, nodev,relatime - vfat /dev/sdc1 rw,uid= 1000,gid= 1000,fmask= 0022,dmask= 0022,codepage= 437,iocharset= iso8859- 1,shortname= mixed,showexec, utf8,flush, errors= remount- ro alkisg/ usbstick/ alkisg/ usbstick $ touch test.exe test.com test.bat test.txt alkisg/ usbstick $ ls -lha test.*
35 22 8:33 / /media/
alkisg@pc ~ $ cd /media/
alkisg@pc /media/
alkisg@pc /media/
-rwxr-xr-x 1 alkisg alkisg 0 Jan 20 19:21 test.bat
-rwxr-xr-x 1 alkisg alkisg 0 Jan 20 19:21 test.com
-rwxr-xr-x 1 alkisg alkisg 0 Jan 20 19:21 test.exe
-rw-r--r-- 1 alkisg alkisg 0 Jan 20 19:21 test.txt