OpenCloudOS-Kernel/drivers/s390/net
Jean Delvare 048a7f8b4e s390: qeth: Fix potential array overrun in cmd/rc lookup
Functions qeth_get_ipa_msg and qeth_get_ipa_cmd_name are modifying
the last member of global arrays without any locking that I can see.
If two instances of either function are running at the same time,
it could cause a race ultimately leading to an array overrun (the
contents of the last entry of the array is the only guarantee that
the loop will ever stop).

Performing the lookups without modifying the arrays is admittedly
slower (two comparisons per iteration instead of one) but these
are operations which are rare (should only be needed in error
cases or when debugging, not during successful operation) and it
seems still less costly than introducing a mutex to protect the
arrays in question.

As a side bonus, it allows us to declare both arrays as const data.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Julian Wiedmann <jwi@linux.ibm.com>
Cc: Ursula Braun <ubraun@linux.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-28 10:27:26 -07:00
..
Kconfig s390/ism: add device driver for internal shared memory 2018-06-30 20:42:26 +09:00
Makefile s390/ism: add device driver for internal shared memory 2018-06-30 20:42:26 +09:00
ctcm_dbug.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ctcm_dbug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ctcm_fsms.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ctcm_fsms.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ctcm_main.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
ctcm_main.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ctcm_mpc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ctcm_mpc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ctcm_sysfs.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fsm.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-11-30 08:13:36 -08:00
fsm.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ism.h s390/ism: add device driver for internal shared memory 2018-06-30 20:42:26 +09:00
ism_drv.c s390/ism: add device driver for internal shared memory 2018-06-30 20:42:26 +09:00
lcs.c s390/net: set HW port number in netdevice 2018-04-27 13:38:47 -04:00
lcs.h net: convert lcs_reply.refcnt from atomic_t to refcount_t 2017-12-20 15:23:44 -05:00
netiucv.c s390: drivers: Remove redundant license text 2017-11-24 14:28:47 +01:00
qeth_core.h s390/qeth: don't restrict qeth_card to DMA memory 2018-08-09 14:02:50 -07:00
qeth_core_main.c s390: qeth: Fix potential array overrun in cmd/rc lookup 2018-09-28 10:27:26 -07:00
qeth_core_mpc.c s390: qeth: Fix potential array overrun in cmd/rc lookup 2018-09-28 10:27:26 -07:00
qeth_core_mpc.h s390: qeth: Fix potential array overrun in cmd/rc lookup 2018-09-28 10:27:26 -07:00
qeth_core_sys.c s390/qeth: don't cache HW port number 2018-07-21 10:12:30 -07:00
qeth_l2.h s390/qeth: clean up exported symbols 2018-07-12 16:42:39 -07:00
qeth_l2_main.c s390/qeth: don't dump past end of unknown HW header 2018-09-12 13:12:51 -07:00
qeth_l2_sys.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
qeth_l3.h s390/qeth: shrink qeth_ipaddr struct 2018-03-09 13:10:05 -05:00
qeth_l3_main.c s390/qeth: don't dump past end of unknown HW header 2018-09-12 13:12:51 -07:00
qeth_l3_sys.c s390/qeth: allocate netdevice early 2018-07-21 10:12:29 -07:00
smsgiucv.c s390/smsgiucv: disable SMSG on module unload 2018-04-16 09:10:17 +02:00
smsgiucv.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smsgiucv_app.c s390: net: add SPDX identifiers to the remaining files 2017-11-24 14:28:43 +01:00