67 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Creating audit records for mapped devices.4 *5 * Copyright (C) 2021 Fraunhofer AISEC. All rights reserved.6 *7 * Authors: Michael Weiß <michael.weiss@aisec.fraunhofer.de>8 */9 10#ifndef DM_AUDIT_H11#define DM_AUDIT_H12 13#include <linux/device-mapper.h>14#include <linux/audit.h>15 16#ifdef CONFIG_DM_AUDIT17void dm_audit_log_bio(const char *dm_msg_prefix, const char *op,18 struct bio *bio, sector_t sector, int result);19 20/*21 * dm_audit_log_ti() is not intended to be used directly in dm modules,22 * the wrapper functions below should be called by dm modules instead.23 */24void dm_audit_log_ti(int audit_type, const char *dm_msg_prefix, const char *op,25 struct dm_target *ti, int result);26 27static inline void dm_audit_log_ctr(const char *dm_msg_prefix,28 struct dm_target *ti, int result)29{30 dm_audit_log_ti(AUDIT_DM_CTRL, dm_msg_prefix, "ctr", ti, result);31}32 33static inline void dm_audit_log_dtr(const char *dm_msg_prefix,34 struct dm_target *ti, int result)35{36 dm_audit_log_ti(AUDIT_DM_CTRL, dm_msg_prefix, "dtr", ti, result);37}38 39static inline void dm_audit_log_target(const char *dm_msg_prefix, const char *op,40 struct dm_target *ti, int result)41{42 dm_audit_log_ti(AUDIT_DM_EVENT, dm_msg_prefix, op, ti, result);43}44#else45static inline void dm_audit_log_bio(const char *dm_msg_prefix, const char *op,46 struct bio *bio, sector_t sector,47 int result)48{49}50static inline void dm_audit_log_target(const char *dm_msg_prefix,51 const char *op, struct dm_target *ti,52 int result)53{54}55static inline void dm_audit_log_ctr(const char *dm_msg_prefix,56 struct dm_target *ti, int result)57{58}59 60static inline void dm_audit_log_dtr(const char *dm_msg_prefix,61 struct dm_target *ti, int result)62{63}64#endif65 66#endif67