diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-03-16 08:11:09 +0100 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-03-16 11:18:25 +0100 |
commit | 31fa684096601d8fe5ea11e1c4d473229fef7c70 (patch) | |
tree | 5e355028e1afb00483177796d60252c25ce9823d /net/core/scm.c | |
parent | 359d2243117a79599435141fda0047d01ef324e8 (diff) | |
parent | 86d65b7e7a0c927d07d18605c276d0f142438ead (diff) | |
download | kernel_replicant_linux-31fa684096601d8fe5ea11e1c4d473229fef7c70.tar.gz kernel_replicant_linux-31fa684096601d8fe5ea11e1c4d473229fef7c70.tar.bz2 kernel_replicant_linux-31fa684096601d8fe5ea11e1c4d473229fef7c70.zip |
Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
Backmerge because:
- Maarten needs latest atomic patches from drm-misc.
- Lionel needs the color manager core patch from drm-misc.
- Ander extracted intel_dpll_mgr.c, we need a backmerge to avoid git
losing track of things too often (right now it seems ok due to
cherry-picks).
- Tvrtko needs a stable baseline to apply some large-scale renaming
patches to i915 GEM code.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'net/core/scm.c')
-rw-r--r-- | net/core/scm.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/core/scm.c b/net/core/scm.c index 14596fb37172..2696aefdc148 100644 --- a/net/core/scm.c +++ b/net/core/scm.c @@ -87,6 +87,7 @@ static int scm_fp_copy(struct cmsghdr *cmsg, struct scm_fp_list **fplp) *fplp = fpl; fpl->count = 0; fpl->max = SCM_MAX_FD; + fpl->user = NULL; } fpp = &fpl->fp[fpl->count]; @@ -107,6 +108,10 @@ static int scm_fp_copy(struct cmsghdr *cmsg, struct scm_fp_list **fplp) *fpp++ = file; fpl->count++; } + + if (!fpl->user) + fpl->user = get_uid(current_user()); + return num; } @@ -119,6 +124,7 @@ void __scm_destroy(struct scm_cookie *scm) scm->fp = NULL; for (i=fpl->count-1; i>=0; i--) fput(fpl->fp[i]); + free_uid(fpl->user); kfree(fpl); } } @@ -336,6 +342,7 @@ struct scm_fp_list *scm_fp_dup(struct scm_fp_list *fpl) for (i = 0; i < fpl->count; i++) get_file(fpl->fp[i]); new_fpl->max = new_fpl->count; + new_fpl->user = get_uid(fpl->user); } return new_fpl; } |