From 937a8806ebbefab2613349191eade6ab4d3e65d9 Mon Sep 17 00:00:00 2001 From: Kent Russell Date: Tue, 24 May 2016 12:32:38 -0400 Subject: [PATCH] Only require sudo for setting SMI values Since reading values doesn't require sudo, only relaunch the application as sudo if it calls a function that requires sudo privileges. Change-Id: Icbdafd860edb6f887a7dcb0dfaa3d8a29696d3aa --- rocm-smi | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rocm-smi b/rocm-smi index 4d6a66e..a4f5bb3 100755 --- a/rocm-smi +++ b/rocm-smi @@ -12,8 +12,9 @@ JSON_VERSION = 1 # To write to sysfs, we need to run this script as root. If the script is not run as # root, re-launch it via execvp to give the script sudo privileges. -if os.geteuid() != 0: - os.execvp('sudo', ['sudo'] + sys.argv) +def relaunchAsSudo(): + if os.geteuid() != 0: + os.execvp('sudo', ['sudo'] + sys.argv) parser = argparse.ArgumentParser(description='AMD ROCm System Management Interface', formatter_class=lambda prog: argparse.HelpFormatter(prog, max_help_position=90, width=110)) @@ -728,6 +729,10 @@ if args.showallinfo: args.showclkfrq = True args.showperflevel = True args.showoverdrive = True + +if args.setsclk or args.setmclk or args.setfan or args.setperflevel or args.resetclocks or args.loadclocks or args.setoverdrive: + relaunchAsSudo() + if args.showid: showId(deviceList) if args.resetclocks: