I've been using Linux as my main driver for a couple of years now but I didn't know the list of reserved file name characters is so short.
I didn't believe '*' is allowed. That alone is so error-prone, it's insane. Backslash is allowed too - how do you escape that? Sometimes I think they giggled while writing the specs.