Messages in this thread | | | Date | Tue, 21 Aug 2012 12:06:33 +0200 (CEST) | From | Jan Engelhardt <> | Subject | Re: [PATCH] fs: Preserve error code in get_empty_filp() |
| |
On Wednesday 2012-08-01 20:19, anatol.pomozov@gmail.com wrote: >Allocating a file structure in function get_empty_filp() might fail because >of several reasons: > - not enough memory for file structures > - operation is not allowed > - user is over its limit > >Currently the function returns NULL in all cases and we loose the exact >reason of the error. All callers of get_empty_filp() assume that the function >can fail with ENFILE only. > >Return error through pointer. Change all callers to preserve this error code.
> percpu_counter_inc(&nr_files); > f->f_cred = get_cred(cred); >- if (security_file_alloc(f)) >+ if (security_file_alloc(f)) { >+ error = -EPERM; > goto fail_sec; >+ }
You are not preserving the error code from security_file_alloc here.
In particular, apparmoar/lsm.c: file_alloc_security can return -ENOMEM, for example.
| |