fixes for lkdtm build warnings

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 Comment: Kees Cook <kees@outflux.net>
 
 iQIcBAABCgAGBQJXiW58AAoJEIly9N/cbcAmtH8P/Rk6fSJbVXAh9adHYSrk0EMJ
 /43zuj461s83MDyeCPD9j0UdggH2fkL/3n/DNPMnAScIlAc1dTPd290ZcT+vgp7k
 cQrko11E4DYGNCM0A+BgjPzeqQzZYeI9uOZVnhMT6c4cH2wnBIO6nKHjAQqrvORx
 RAdAmTUZPxE7Pn+CI0Y7rz2ep2oYaHVHXvp5p4lqi2yaQt9w8u0Bd1FMhf3bRS/B
 HxOs+Uru7D7GkEhKt0cfeZ9sYnNJPQk1nv/3uWTMxgHcSiGqjEB+ViNScbBvy3Vs
 DfFw3KILWRWFPCOnJSrMTxrRnCaDQjwsya8TFHrv59XmrblZ55i1Zx9/2mK3QyyM
 aOf4XT0npzDM3/9Druf4WU0xHwbtzBVB1ffYsXATv3Tu2zDBrJ75pH5DwgJwA4yt
 o6JSgUuACWdhRj5envZ6MTQs7SLuV/+g3wf1p/vXcE0HL2Q8ZnDQqrYYiaHH6yub
 ouMeYTOQaqPqFNqK2CycMr0TzrjDog93svmiA2Y2CkLFabhvAwjoFCC2nJtK4cxt
 N49VUFqEQftBryUADAH/1jisSy5cRZuzBpqZfTXEkkJ0ZgjWFSxsHi+r2H3lFVyA
 iItDYQ3D/izJi8n9MkaMdWpnNZKBZHXZl8mOGUcvjnxwfYVO5lh6rAp5ybbCmtk7
 MqSk7d2vVGh5QEu+5tde
 =g5Dz
 -----END PGP SIGNATURE-----

Merge tag 'lkdtm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into char-misc-testing

Kees writes:

fixes for lkdtm build warnings
This commit is contained in:
Greg Kroah-Hartman 2016-07-17 08:29:53 +09:00
commit 45c7d71e16
7 changed files with 46 additions and 55 deletions

View File

@ -1,6 +1,10 @@
#ifndef __LKDTM_H
#define __LKDTM_H
#define pr_fmt(fmt) "lkdtm: " fmt
#include <linux/kernel.h>
/* lkdtm_bugs.c */
void __init lkdtm_bugs_init(int *recur_param);
void lkdtm_PANIC(void);
@ -53,5 +57,4 @@ void lkdtm_USERCOPY_STACK_FRAME_FROM(void);
void lkdtm_USERCOPY_STACK_BEYOND(void);
void lkdtm_USERCOPY_KERNEL(void);
#endif

View File

@ -4,12 +4,8 @@
* lockups) along with other things that don't fit well into existing LKDTM
* test source files.
*/
#define pr_fmt(fmt) "lkdtm: " fmt
#include <linux/kernel.h>
#include <linux/sched.h>
#include "lkdtm.h"
#include <linux/sched.h>
/*
* Make sure our attempts to over run the kernel stack doesn't trigger

View File

@ -30,9 +30,7 @@
*
* See Documentation/fault-injection/provoke-crashes.txt for instructions
*/
#define pr_fmt(fmt) "lkdtm: " fmt
#include <linux/kernel.h>
#include "lkdtm.h"
#include <linux/fs.h>
#include <linux/module.h>
#include <linux/buffer_head.h>
@ -49,16 +47,16 @@
#include <linux/ide.h>
#endif
#include "lkdtm.h"
#define DEFAULT_COUNT 10
static void lkdtm_handler(void);
static int lkdtm_debugfs_open(struct inode *inode, struct file *file);
static ssize_t lkdtm_debugfs_read(struct file *f, char __user *user_buf,
size_t count, loff_t *off);
static ssize_t direct_entry(struct file *f, const char __user *user_buf,
size_t count, loff_t *off);
#ifdef CONFIG_KPROBES
static void lkdtm_handler(void);
static ssize_t lkdtm_debugfs_entry(struct file *f,
const char __user *user_buf,
size_t count, loff_t *off);
@ -118,7 +116,7 @@ static int jp_scsi_dispatch_cmd(struct scsi_cmnd *cmd)
return 0;
}
#ifdef CONFIG_IDE
# ifdef CONFIG_IDE
static int jp_generic_ide_ioctl(ide_drive_t *drive, struct file *file,
struct block_device *bdev, unsigned int cmd,
unsigned long arg)
@ -127,9 +125,9 @@ static int jp_generic_ide_ioctl(ide_drive_t *drive, struct file *file,
jprobe_return();
return 0;
}
# endif
#endif
/* Crash points */
struct crashpoint {
const char *name;
@ -238,10 +236,6 @@ static struct jprobe *lkdtm_jprobe;
struct crashpoint *lkdtm_crashpoint;
struct crashtype *lkdtm_crashtype;
/* Global crash counter and spinlock. */
static int crash_count = DEFAULT_COUNT;
static DEFINE_SPINLOCK(crash_count_lock);
/* Module parameters */
static int recur_count = -1;
module_param(recur_count, int, 0644);
@ -285,29 +279,6 @@ static noinline void lkdtm_do_action(struct crashtype *crashtype)
crashtype->func();
}
/* Called by jprobe entry points. */
static void lkdtm_handler(void)
{
unsigned long flags;
bool do_it = false;
BUG_ON(!lkdtm_crashpoint || !lkdtm_crashtype);
spin_lock_irqsave(&crash_count_lock, flags);
crash_count--;
pr_info("Crash point %s of type %s hit, trigger in %d rounds\n",
lkdtm_crashpoint->name, lkdtm_crashtype->name, crash_count);
if (crash_count == 0) {
do_it = true;
crash_count = cpoint_count;
}
spin_unlock_irqrestore(&crash_count_lock, flags);
if (do_it)
lkdtm_do_action(lkdtm_crashtype);
}
static int lkdtm_register_cpoint(struct crashpoint *crashpoint,
struct crashtype *crashtype)
{
@ -337,6 +308,34 @@ static int lkdtm_register_cpoint(struct crashpoint *crashpoint,
return ret;
}
#ifdef CONFIG_KPROBES
/* Global crash counter and spinlock. */
static int crash_count = DEFAULT_COUNT;
static DEFINE_SPINLOCK(crash_count_lock);
/* Called by jprobe entry points. */
static void lkdtm_handler(void)
{
unsigned long flags;
bool do_it = false;
BUG_ON(!lkdtm_crashpoint || !lkdtm_crashtype);
spin_lock_irqsave(&crash_count_lock, flags);
crash_count--;
pr_info("Crash point %s of type %s hit, trigger in %d rounds\n",
lkdtm_crashpoint->name, lkdtm_crashtype->name, crash_count);
if (crash_count == 0) {
do_it = true;
crash_count = cpoint_count;
}
spin_unlock_irqrestore(&crash_count_lock, flags);
if (do_it)
lkdtm_do_action(lkdtm_crashtype);
}
static ssize_t lkdtm_debugfs_entry(struct file *f,
const char __user *user_buf,
size_t count, loff_t *off)
@ -374,6 +373,7 @@ static ssize_t lkdtm_debugfs_entry(struct file *f,
return count;
}
#endif
/* Generic read callback that just prints out the available crash types */
static ssize_t lkdtm_debugfs_read(struct file *f, char __user *user_buf,
@ -476,8 +476,10 @@ static int __init lkdtm_module_init(void)
}
}
#ifdef CONFIG_KPROBES
/* Set crash count. */
crash_count = cpoint_count;
#endif
/* Handle test-specific initialization. */
lkdtm_bugs_init(&recur_count);

View File

@ -2,12 +2,8 @@
* This is for all the tests relating directly to heap memory, including
* page allocation and slab allocations.
*/
#define pr_fmt(fmt) "lkdtm: " fmt
#include <linux/kernel.h>
#include <linux/slab.h>
#include "lkdtm.h"
#include <linux/slab.h>
/*
* This tries to stay within the next largest power-of-2 kmalloc cache

View File

@ -3,17 +3,13 @@
* permissions: non-executable regions, non-writable regions, and
* even non-readable regions.
*/
#define pr_fmt(fmt) "lkdtm: " fmt
#include <linux/kernel.h>
#include "lkdtm.h"
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/mman.h>
#include <linux/uaccess.h>
#include <asm/cacheflush.h>
#include "lkdtm.h"
/* Whether or not to fill the target memory area with do_nothing(). */
#define CODE_WRITE true
#define CODE_AS_IS false

View File

@ -2,7 +2,7 @@
* This includes functions that are meant to live entirely in .rodata
* (via objcopy tricks), to validate the non-executability of .rodata.
*/
#include <linux/kernel.h>
#include "lkdtm.h"
void lkdtm_rodata_do_nothing(void)
{

View File

@ -2,9 +2,7 @@
* This is for all the tests related to copy_to_user() and copy_from_user()
* hardening.
*/
#define pr_fmt(fmt) "lkdtm: " fmt
#include <linux/kernel.h>
#include "lkdtm.h"
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/mman.h>