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

cifs_swn.h (1453B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Witness Service client for CIFS
      4 *
      5 * Copyright (c) 2020 Samuel Cabrero <scabrero@suse.de>
      6 */
      7
      8#ifndef _CIFS_SWN_H
      9#define _CIFS_SWN_H
     10#include "cifsglob.h"
     11
     12struct cifs_tcon;
     13struct sk_buff;
     14struct genl_info;
     15
     16#ifdef CONFIG_CIFS_SWN_UPCALL
     17extern int cifs_swn_register(struct cifs_tcon *tcon);
     18
     19extern int cifs_swn_unregister(struct cifs_tcon *tcon);
     20
     21extern int cifs_swn_notify(struct sk_buff *skb, struct genl_info *info);
     22
     23extern void cifs_swn_dump(struct seq_file *m);
     24
     25extern void cifs_swn_check(void);
     26
     27static inline bool cifs_swn_set_server_dstaddr(struct TCP_Server_Info *server)
     28{
     29	if (server->use_swn_dstaddr) {
     30		server->dstaddr = server->swn_dstaddr;
     31		return true;
     32	}
     33	return false;
     34}
     35
     36static inline void cifs_swn_reset_server_dstaddr(struct TCP_Server_Info *server)
     37{
     38	server->use_swn_dstaddr = false;
     39}
     40
     41#else
     42
     43static inline int cifs_swn_register(struct cifs_tcon *tcon) { return 0; }
     44static inline int cifs_swn_unregister(struct cifs_tcon *tcon) { return 0; }
     45static inline int cifs_swn_notify(struct sk_buff *s, struct genl_info *i) { return 0; }
     46static inline void cifs_swn_dump(struct seq_file *m) {}
     47static inline void cifs_swn_check(void) {}
     48static inline bool cifs_swn_set_server_dstaddr(struct TCP_Server_Info *server) { return false; }
     49static inline void cifs_swn_reset_server_dstaddr(struct TCP_Server_Info *server) {}
     50
     51#endif /* CONFIG_CIFS_SWN_UPCALL */
     52#endif /* _CIFS_SWN_H */