linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
  • * [PATCH v2] Fix error handling in begin_new_exec
           [not found] <AM8PR10MB47081071E64EAAB343196D5AE4399@AM8PR10MB4708.EURPRD10.PROD.OUTLOOK.COM>
           [not found] ` <87mts2kcrm.fsf@disp2133>
    @ 2024-01-15 19:22 ` Bernd Edlinger
      2024-01-22 18:34   ` [PATCH v3] " Bernd Edlinger
      1 sibling, 1 reply; 4+ messages in thread
    From: Bernd Edlinger @ 2024-01-15 19:22 UTC (permalink / raw)
      To: Alexander Viro, Christian Brauner, Kees Cook, Eric W. Biederman,
    	linux-fsdevel, linux-mm, linux-kernel, Andrew Morton
    
    If get_unused_fd_flags() fails, the error handling is incomplete
    because bprm->cred is already set to NULL, and therefore
    free_bprm will not unlock the cred_guard_mutex.
    Note there are two error conditions which end up here,
    one before and one after bprm->cred is cleared.
    
    Fixes: b8a61c9e7b4a ("exec: Generic execfd support")
    
    Signed-off-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
    
    Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
    ---
     fs/exec.c | 3 +++
     1 file changed, 3 insertions(+)
    
    v2: rebased to v6.7, retested and updated the commit message
    to fix a checkpatch.pl style nit about the too short sha1 hash
    in the Fixes: statement.
    And retained Eric's Acked-by from:
    https://lore.kernel.org/lkml/87mts2kcrm.fsf@disp2133/
    
    
    Thanks
    Bernd.
    
    diff --git a/fs/exec.c b/fs/exec.c
    index 4aa19b24f281..6d9ed2d765ef 100644
    --- a/fs/exec.c
    +++ b/fs/exec.c
    @@ -1408,6 +1408,9 @@ int begin_new_exec(struct linux_binprm * bprm)
     
     out_unlock:
     	up_write(&me->signal->exec_update_lock);
    +	if (!bprm->cred)
    +		mutex_unlock(&me->signal->cred_guard_mutex);
    +
     out:
     	return retval;
     }
    -- 
    2.39.2
    
    
    ^ permalink raw reply	[flat|nested] 4+ messages in thread

  • end of thread, other threads:[~2024-01-22 20:53 UTC | newest]
    
    Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
    -- links below jump to the message on this page --
         [not found] <AM8PR10MB47081071E64EAAB343196D5AE4399@AM8PR10MB4708.EURPRD10.PROD.OUTLOOK.COM>
         [not found] ` <87mts2kcrm.fsf@disp2133>
    2023-10-30  5:50   ` [PATCH] Fix error handling in begin_new_exec Bernd Edlinger
    2024-01-15 19:22 ` [PATCH v2] " Bernd Edlinger
    2024-01-22 18:34   ` [PATCH v3] " Bernd Edlinger
    2024-01-22 20:53     ` Kees Cook
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox