ish
ish copied to clipboard
fix ish-app/ish#2349 stop EACCES truncate with open
Relocate the permission check for the generic_openat
function to before opening the back-end.
This mitigates the case where open is called on the file back-end even if the user is not allowed to.
Opening the back-end prematurely can cause truncation of the file in question by the error handler.
This seemed like an easy issue to fix so i tried fixing it. This is my first PR in this Repository, If i made any mistakes let me know!
Looks like this makes tests fail
That's indeed worrying, I will look into it when I have time
Looks like this makes tests fail
This time it should work @tbodt I ran the tests.
I had to engage the inode lock before the stat
Sorry for the delay tho
We may need to increase the timeout delay to reduce false positives
Actually there might be a better way that doesn't cripple the speed. but it might include a slight rework of the fd closing function. @tbodt Would you prefer that?
What happened with the speed?
If more things need to be refactored, more things need to be refactored :D This isn't a bad thing in itself.
What happened with the speed?
If more things need to be refactored, more things need to be refactored :D This isn't a bad thing in itself.
It seems fstat is that much faster than stat. I expected a bit of performance loss due to extra path finding overhead but not this much. Instead of checking before opening the file it might be a better idea to just write a better error handling function to compensate.