cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

utils.c (1028B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 * Copyright (C) 2011 matt mooney <mfm@muteddisk.com>
      4 *               2005-2007 Takahiro Hirofuchi
      5 */
      6
      7#include <errno.h>
      8#include <stdio.h>
      9#include <string.h>
     10
     11#include "usbip_common.h"
     12#include "utils.h"
     13#include "sysfs_utils.h"
     14
     15int modify_match_busid(char *busid, int add)
     16{
     17	char attr_name[] = "match_busid";
     18	char command[SYSFS_BUS_ID_SIZE + 4];
     19	char match_busid_attr_path[SYSFS_PATH_MAX];
     20	int rc;
     21	int cmd_size;
     22
     23	snprintf(match_busid_attr_path, sizeof(match_busid_attr_path),
     24		 "%s/%s/%s/%s/%s/%s", SYSFS_MNT_PATH, SYSFS_BUS_NAME,
     25		 SYSFS_BUS_TYPE, SYSFS_DRIVERS_NAME, USBIP_HOST_DRV_NAME,
     26		 attr_name);
     27
     28	if (add)
     29		cmd_size = snprintf(command, SYSFS_BUS_ID_SIZE + 4, "add %s",
     30				    busid);
     31	else
     32		cmd_size = snprintf(command, SYSFS_BUS_ID_SIZE + 4, "del %s",
     33				    busid);
     34
     35	rc = write_sysfs_attribute(match_busid_attr_path, command,
     36				   cmd_size);
     37	if (rc < 0) {
     38		dbg("failed to write match_busid: %s", strerror(errno));
     39		return -1;
     40	}
     41
     42	return 0;
     43}