linux/drivers/s390/net
Elena Reshetova ae6959273a qeth: convert qeth_reply.refcnt from atomic_t to refcount_t
atomic_t variables are currently used to implement reference
counters with the following properties:
 - counter is initialized to 1 using atomic_set()
 - a resource is freed upon counter reaching zero
 - once counter reaches zero, its further
   increments aren't allowed
 - counter schema uses basic atomic operations
   (set, inc, inc_not_zero, dec_and_test, etc.)

Such atomic variables should be converted to a newly provided
refcount_t type and API that prevents accidental counter overflows
and underflows. This is important since overflows and underflows
can lead to use-after-free situation and be exploitable.

The variable qeth_reply.refcnt is used as pure reference counter.
Convert it to refcount_t and fix up the operations.

Suggested-by: Kees Cook <keescook@chromium.org>
Reviewed-by: David Windsor <dwindsor@gmail.com>
Reviewed-by: Hans Liljestrand <ishkamiel@gmail.com>
Signed-off-by: Elena Reshetova <elena.reshetova@intel.com>
[jwi: removed the WARN_ONs. Use CONFIG_REFCOUNT_FULL if you care.]
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-12-20 15:23:44 -05: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 s390: net: add SPDX identifiers to the remaining files 2017-11-24 14:28:43 +01: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
Kconfig s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
lcs.c net: convert lcs_reply.refcnt from atomic_t to refcount_t 2017-12-20 15:23:44 -05:00
lcs.h net: convert lcs_reply.refcnt from atomic_t to refcount_t 2017-12-20 15:23:44 -05:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
netiucv.c s390: drivers: Remove redundant license text 2017-11-24 14:28:47 +01:00
qeth_core_main.c qeth: convert qeth_reply.refcnt from atomic_t to refcount_t 2017-12-20 15:23:44 -05:00
qeth_core_mpc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
qeth_core_mpc.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
qeth_core_sys.c s390: net: add SPDX identifiers to the remaining files 2017-11-24 14:28:43 +01:00
qeth_core.h qeth: convert qeth_reply.refcnt from atomic_t to refcount_t 2017-12-20 15:23:44 -05:00
qeth_l2_main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-12-04 11:14:46 -08: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_l2.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
qeth_l3_main.c s390/qeth: update takeover IPs after configuration change 2017-12-15 11:29:43 -05:00
qeth_l3_sys.c s390/qeth: update takeover IPs after configuration change 2017-12-15 11:29:43 -05:00
qeth_l3.h s390/qeth: update takeover IPs after configuration change 2017-12-15 11:29:43 -05:00
smsgiucv_app.c s390: net: add SPDX identifiers to the remaining files 2017-11-24 14:28:43 +01:00
smsgiucv.c s390: drivers: Remove redundant license text 2017-11-24 14:28:47 +01: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