All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] s390/dasd patches
@ 2021-07-01 14:22 Stefan Haberland
  2021-07-01 14:22 ` [PATCH 1/2] dasd: unexport dasd_set_target_state Stefan Haberland
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Stefan Haberland @ 2021-07-01 14:22 UTC (permalink / raw)
  To: Jens Axboe
  Cc: linux-block, Jan Hoeppner, linux-s390, Heiko Carstens,
	Vasily Gorbik, Christian Borntraeger, Christoph Hellwig,
	Kees Cook

Hi Jens,

please apply the following two patches that unexport a DASD symbol and improve a DASD structure.


Christoph Hellwig (1):
  dasd: unexport dasd_set_target_state

Kees Cook (1):
  s390/dasd: Avoid field over-reading memcpy()

 drivers/s390/block/dasd.c      | 1 -
 drivers/s390/block/dasd_eckd.c | 2 +-
 drivers/s390/block/dasd_eckd.h | 6 ++++--
 3 files changed, 5 insertions(+), 4 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] dasd: unexport dasd_set_target_state
  2021-07-01 14:22 [PATCH 0/2] s390/dasd patches Stefan Haberland
@ 2021-07-01 14:22 ` Stefan Haberland
  2021-07-01 14:22 ` [PATCH 2/2] s390/dasd: Avoid field over-reading memcpy() Stefan Haberland
  2021-07-01 15:27 ` [PATCH 0/2] s390/dasd patches Jens Axboe
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Haberland @ 2021-07-01 14:22 UTC (permalink / raw)
  To: Jens Axboe
  Cc: linux-block, Jan Hoeppner, linux-s390, Heiko Carstens,
	Vasily Gorbik, Christian Borntraeger, Christoph Hellwig,
	Kees Cook

From: Christoph Hellwig <hch@lst.de>

dasd_set_target_state is only used inside of dasd_mod.ko, so don't
export it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
---
 drivers/s390/block/dasd.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c
index c8df75e99f4c..e34c6cc61983 100644
--- a/drivers/s390/block/dasd.c
+++ b/drivers/s390/block/dasd.c
@@ -621,7 +621,6 @@ void dasd_set_target_state(struct dasd_device *device, int target)
 	mutex_unlock(&device->state_mutex);
 	dasd_put_device(device);
 }
-EXPORT_SYMBOL(dasd_set_target_state);
 
 /*
  * Enable devices with device numbers in [from..to].
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] s390/dasd: Avoid field over-reading memcpy()
  2021-07-01 14:22 [PATCH 0/2] s390/dasd patches Stefan Haberland
  2021-07-01 14:22 ` [PATCH 1/2] dasd: unexport dasd_set_target_state Stefan Haberland
@ 2021-07-01 14:22 ` Stefan Haberland
  2021-07-01 15:27 ` [PATCH 0/2] s390/dasd patches Jens Axboe
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Haberland @ 2021-07-01 14:22 UTC (permalink / raw)
  To: Jens Axboe
  Cc: linux-block, Jan Hoeppner, linux-s390, Heiko Carstens,
	Vasily Gorbik, Christian Borntraeger, Christoph Hellwig,
	Kees Cook

From: Kees Cook <keescook@chromium.org>

In preparation for FORTIFY_SOURCE performing compile-time and run-time
field array bounds checking for memcpy(), memmove(), and memset(),
avoid intentionally reading across neighboring array fields.

Add a wrapping structure to serve as the memcpy() source, so the compiler
can do appropriate bounds checking, avoiding this future warning:

In function '__fortify_memcpy',
    inlined from 'create_uid' at drivers/s390/block/dasd_eckd.c:749:2:
./include/linux/fortify-string.h:246:4: error: call to '__read_overflow2_field' declared with attribute error: detected read beyond size of field (2nd parameter)

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
---
 drivers/s390/block/dasd_eckd.c | 2 +-
 drivers/s390/block/dasd_eckd.h | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index a6ac505cbdd7..0de1a463c509 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -746,7 +746,7 @@ static void create_uid(struct dasd_eckd_private *private)
 	memcpy(uid->vendor, private->ned->HDA_manufacturer,
 	       sizeof(uid->vendor) - 1);
 	EBCASC(uid->vendor, sizeof(uid->vendor) - 1);
-	memcpy(uid->serial, private->ned->HDA_location,
+	memcpy(uid->serial, &private->ned->serial,
 	       sizeof(uid->serial) - 1);
 	EBCASC(uid->serial, sizeof(uid->serial) - 1);
 	uid->ssid = private->gneq->subsystemID;
diff --git a/drivers/s390/block/dasd_eckd.h b/drivers/s390/block/dasd_eckd.h
index 73651211789f..65e4630ad2ae 100644
--- a/drivers/s390/block/dasd_eckd.h
+++ b/drivers/s390/block/dasd_eckd.h
@@ -332,8 +332,10 @@ struct dasd_ned {
 	__u8 dev_type[6];
 	__u8 dev_model[3];
 	__u8 HDA_manufacturer[3];
-	__u8 HDA_location[2];
-	__u8 HDA_seqno[12];
+	struct {
+		__u8 HDA_location[2];
+		__u8 HDA_seqno[12];
+	} serial;
 	__u8 ID;
 	__u8 unit_addr;
 } __attribute__ ((packed));
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2] s390/dasd patches
  2021-07-01 14:22 [PATCH 0/2] s390/dasd patches Stefan Haberland
  2021-07-01 14:22 ` [PATCH 1/2] dasd: unexport dasd_set_target_state Stefan Haberland
  2021-07-01 14:22 ` [PATCH 2/2] s390/dasd: Avoid field over-reading memcpy() Stefan Haberland
@ 2021-07-01 15:27 ` Jens Axboe
  2 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2021-07-01 15:27 UTC (permalink / raw)
  To: Stefan Haberland
  Cc: linux-block, Jan Hoeppner, linux-s390, Heiko Carstens,
	Vasily Gorbik, Christian Borntraeger, Christoph Hellwig,
	Kees Cook

On 7/1/21 8:22 AM, Stefan Haberland wrote:
> Hi Jens,
> 
> please apply the following two patches that unexport a DASD symbol and improve a DASD structure.
> 
> 
> Christoph Hellwig (1):
>   dasd: unexport dasd_set_target_state
> 
> Kees Cook (1):
>   s390/dasd: Avoid field over-reading memcpy()
> 
>  drivers/s390/block/dasd.c      | 1 -
>  drivers/s390/block/dasd_eckd.c | 2 +-
>  drivers/s390/block/dasd_eckd.h | 6 ++++--
>  3 files changed, 5 insertions(+), 4 deletions(-)

Applied, thanks.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-07-01 15:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-01 14:22 [PATCH 0/2] s390/dasd patches Stefan Haberland
2021-07-01 14:22 ` [PATCH 1/2] dasd: unexport dasd_set_target_state Stefan Haberland
2021-07-01 14:22 ` [PATCH 2/2] s390/dasd: Avoid field over-reading memcpy() Stefan Haberland
2021-07-01 15:27 ` [PATCH 0/2] s390/dasd patches Jens Axboe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.