Improve log message for locksettings shell commands
Instead of the cryptic message "Caller pid %d Caller uid %d" at ERROR level, use the clearer message "Executing shell command '%s'; callingPid=%d, callingUid=%d" at INFO level. Intentionally log only the command name, not the other arguments. This is motivated by trying to debug b/262185378. Test: ran some shell commands and checked logcat Bug: 262185378 Change-Id: Ibd0e2763deaedf0c12823aa890398a35e4c46d8d
This commit is contained in:
@@ -2424,16 +2424,20 @@ public class LockSettingsService extends ILockSettings.Stub {
|
||||
public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err,
|
||||
String[] args, ShellCallback callback, ResultReceiver resultReceiver) {
|
||||
enforceShell();
|
||||
final int origPid = Binder.getCallingPid();
|
||||
final int origUid = Binder.getCallingUid();
|
||||
final int callingPid = Binder.getCallingPid();
|
||||
final int callingUid = Binder.getCallingUid();
|
||||
|
||||
// Don't log arguments other than the first one (the command name), since they might contain
|
||||
// secrets that must not be written to the log.
|
||||
Slogf.i(TAG, "Executing shell command '%s'; callingPid=%d, callingUid=%d",
|
||||
ArrayUtils.isEmpty(args) ? "" : args[0], callingPid, callingUid);
|
||||
|
||||
Slog.e(TAG, "Caller pid " + origPid + " Caller uid " + origUid);
|
||||
// The original identity is an opaque integer.
|
||||
final long origId = Binder.clearCallingIdentity();
|
||||
try {
|
||||
final LockSettingsShellCommand command =
|
||||
new LockSettingsShellCommand(new LockPatternUtils(mContext), mContext, origPid,
|
||||
origUid);
|
||||
new LockSettingsShellCommand(new LockPatternUtils(mContext), mContext,
|
||||
callingPid, callingUid);
|
||||
command.exec(this, in, out, err, args, callback, resultReceiver);
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(origId);
|
||||
|
||||
Reference in New Issue
Block a user