forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make sure that exported headers are save to be included by userspace exploiting /dev/chsc. Reported-by: Michael Holzheu <[email protected]> Signed-off-by: Sebastian Ott <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
- Loading branch information
Sebastian Ott
authored and
Martin Schwidefsky
committed
Oct 9, 2012
1 parent
9be5f34
commit 4dcc2a4
Showing
2 changed files
with
11 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
/* | ||
* Copyright IBM Corp. 2007 | ||
* Copyright IBM Corp. 2007, 2012 | ||
* Author(s): Peter Oberparleiter <[email protected]> | ||
*/ | ||
|
||
|
@@ -12,10 +12,10 @@ | |
#define __MAX_CHPID 255 | ||
|
||
struct chp_id { | ||
u8 reserved1; | ||
u8 cssid; | ||
u8 reserved2; | ||
u8 id; | ||
__u8 reserved1; | ||
__u8 cssid; | ||
__u8 reserved2; | ||
__u8 id; | ||
} __attribute__((packed)); | ||
|
||
#ifdef __KERNEL__ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,20 @@ | ||
/* | ||
* ioctl interface for /dev/chsc | ||
* | ||
* Copyright IBM Corp. 2008 | ||
* Copyright IBM Corp. 2008, 2012 | ||
* Author(s): Cornelia Huck <[email protected]> | ||
*/ | ||
|
||
#ifndef _ASM_CHSC_H | ||
#define _ASM_CHSC_H | ||
|
||
#include <linux/types.h> | ||
#include <linux/ioctl.h> | ||
#include <asm/chpid.h> | ||
#include <asm/schid.h> | ||
|
||
#define CHSC_SIZE 0x1000 | ||
|
||
struct chsc_async_header { | ||
__u16 length; | ||
__u16 code; | ||
|
@@ -23,15 +26,14 @@ struct chsc_async_header { | |
|
||
struct chsc_async_area { | ||
struct chsc_async_header header; | ||
__u8 data[PAGE_SIZE - 16 /* size of chsc_async_header */]; | ||
__u8 data[CHSC_SIZE - sizeof(struct chsc_async_header)]; | ||
} __attribute__ ((packed)); | ||
|
||
|
||
struct chsc_response_struct { | ||
__u16 length; | ||
__u16 code; | ||
__u32 parms; | ||
__u8 data[PAGE_SIZE - 8]; | ||
__u8 data[CHSC_SIZE - 2 * sizeof(__u16) - sizeof(__u32)]; | ||
} __attribute__ ((packed)); | ||
|
||
struct chsc_chp_cd { | ||
|