Skip to content

Commit 06765b6

Browse files
committed
trace: use override credential guard
Use override credential guards for scoped credential override with automatic restoration on scope exit. Link: https://patch.msgid.link/20251103-work-creds-guards-prepare_creds-v1-12-b447b82f2c9b@kernel.org Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 2ed6a34 commit 06765b6

1 file changed

Lines changed: 5 additions & 12 deletions

File tree

kernel/trace/trace_events_user.c

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,9 +1449,6 @@ static struct trace_event_functions user_event_funcs = {
14491449

14501450
static int user_event_set_call_visible(struct user_event *user, bool visible)
14511451
{
1452-
int ret;
1453-
const struct cred *old_cred;
1454-
14551452
CLASS(prepare_creds, cred)();
14561453
if (!cred)
14571454
return -ENOMEM;
@@ -1467,16 +1464,12 @@ static int user_event_set_call_visible(struct user_event *user, bool visible)
14671464
*/
14681465
cred->fsuid = GLOBAL_ROOT_UID;
14691466

1470-
old_cred = override_creds(cred);
1471-
1472-
if (visible)
1473-
ret = trace_add_event_call(&user->call);
1474-
else
1475-
ret = trace_remove_event_call(&user->call);
1467+
scoped_with_creds(cred) {
1468+
if (visible)
1469+
return trace_add_event_call(&user->call);
14761470

1477-
revert_creds(old_cred);
1478-
1479-
return ret;
1471+
return trace_remove_event_call(&user->call);
1472+
}
14801473
}
14811474

14821475
static int destroy_user_event(struct user_event *user)

0 commit comments

Comments
 (0)