On Thu, 28 May 2026 19:04:48 +0000
Sudheendra Sampath <[email protected]> wrote:

> This patch for bug 1832 will do the following:
> 1.  If /run/dpdk is not present, it will create it first with and
>     then create powermanager directory underneath it.
> 2.  If /run/dpdk is present, it will verify it is actually a directory
>     before creating subdirectory, powermanager.
> 
> All directory permissions are 0700.
> 
> Signed-off-by: Sudheendra Sampath <[email protected]>
> ---

Lots of issues with hardcoding the path here.
Longer explanation from AI review.


Thanks for the patch. A few issues to address before this can be merged:

Two correctness bugs in the new recovery block:

- After creating the directories, d is still NULL but the code falls through to 
readdir(d). The recovery path must call opendir() again (and return -1 if that 
also fails) before the readdir loop.

- path_stat is only populated when stat() succeeds. The 
S_ISDIR(path_stat.st_mode) check runs on uninitialised memory when stat() 
returned an error and mkdir() was used. Restructure as if (stat(...) == 0) { 
check S_ISDIR } else { mkdir }.

Other items:

- doc/guides/sample_app_ug/vm_power_management.rst still references 
/tmp/powermonitor/ in several places; code and docs need to change together.

- Hardcoding /run/dpdk does not follow the DPDK runtime-dir convention and 
breaks non-root usage. 
  Please consider using rte_eal_get_runtime_dir() (or at least the same 
getuid() / RUNTIME_DIRECTORY logic as eal_create_runtime_dir()) instead.

- Subject says "powermanager" but the path is "powermonitor".

- The two new RTE_LOG messages are missing trailing "\n".

- Please add a proper Fixes: tag (12-char hash) for the commit that introduced 
/tmp/powermonitor.

Stephen

Reply via email to