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

test_endian.c (700B)


      1// SPDX-License-Identifier: GPL-2.0
      2/* Copyright (c) 2020 Facebook */
      3
      4#include "vmlinux.h"
      5#include <bpf/bpf_helpers.h>
      6#include <bpf/bpf_endian.h>
      7
      8#define IN16 0x1234
      9#define IN32 0x12345678U
     10#define IN64 0x123456789abcdef0ULL
     11
     12__u16 in16 = 0;
     13__u32 in32 = 0;
     14__u64 in64 = 0;
     15
     16__u16 out16 = 0;
     17__u32 out32 = 0;
     18__u64 out64 = 0;
     19
     20__u16 const16 = 0;
     21__u32 const32 = 0;
     22__u64 const64 = 0;
     23
     24SEC("raw_tp/sys_enter")
     25int sys_enter(const void *ctx)
     26{
     27	out16 = __builtin_bswap16(in16);
     28	out32 = __builtin_bswap32(in32);
     29	out64 = __builtin_bswap64(in64);
     30	const16 = ___bpf_swab16(IN16);
     31	const32 = ___bpf_swab32(IN32);
     32	const64 = ___bpf_swab64(IN64);
     33
     34	return 0;
     35}
     36
     37char _license[] SEC("license") = "GPL";