lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241230185633.175690-1-niharchaithanya@gmail.com>
Date: Tue, 31 Dec 2024 00:26:20 +0530
From: Nihar Chaithanya <niharchaithanya@...il.com>
To: dpenkler@...il.com,
	gregkh@...uxfoundation.org
Cc: dan.carpenter@...aro.org,
	skhan@...uxfoundation.org,
	linux-staging@...ts.linux.dev,
	linux-kernel@...r.kernel.org,
	Nihar Chaithanya <niharchaithanya@...il.com>
Subject: [PATCH v6 00/15] staging: gpib: Handle gpib_register_driver() errors

While reviewing the patch for fixing Coverity scan issue from
gpib: cb7210 [1], Greg pointed out that the gpib_register_driver()
function can fail and must return an error value if it fails.

This patch series fixes the above issue by changing the return type
of gpib_register_driver() function and returning the error value if
it fails.

This fix also makes sure that wherever the gpib_register_driver() is
called and if it fails - the previous driver register functions are
unregistered (if they exist) and the error value is returned. The
pr_err() statements are added indicating the fail and the error value.

Thanks,
Nihar

v5 --> v6 : Removed unnecessary pr_info() statements when the drivers are
            working properly. Added pr_err() in all cases of the driver
            registration fail - indicating the failure and also the
            error value.

v4 --> v5 : Added pr_* statements indicating when the driver register
            functions fail or if the module is initialized without errors.

v3 --> v4 : Made the v3 patch into series and also fixed an error in
            v3 [2]. Each patch in this series is a fix for particular
            driver handling the gpib_register_driver() error.

v2 --> v3 : Modified the gpib_register_driver() to return error code,
            added error handling to all the places that the
            gpib_register_driver() is called.

v1 --> v2 : Replaced the redundant cb_pcmcia_init_module() with
            pcmcia_register_driver().

Link to v5 : https://lore.kernel.org/all/20241228060800.107653-1-niharchaithanya@gmail.com/
Link to v4 : https://lore.kernel.org/all/20241226193637.241049-1-niharchaithanya@gmail.com/
Link to v3 : https://lore.kernel.org/all/20241221214822.163667-1-niharchaithanya@gmail.com/
Link to v2 : https://lore.kernel.org/all/20241221091121.35476-1-niharchaithanya@gmail.com/
Link to v1 : https://lore.kernel.org/all/20241221022632.20931-1-niharchaithanya@gmail.com/

[1] https://lore.kernel.org/all/2024122133-outskirts-causing-099a@gregkh/
[2] https://lore.kernel.org/all/202412221424.WIjKFIPf-lkp@intel.com/

Nihar Chaithanya (15):
  staging: gpib: Modify gpib_register_driver() to return error if it
    fails
  staging: gpib: agilent_82350b: Handle gpib_register_driver() errors
  staging: gpib: agilent_82357a: Handle gpib_register_driver() errors
  staging: gpib: cb7210: Handle gpib_register_driver() errors
  staging: gpib: cec: Handle gpib_register_driver() errors
  staging: gpib: fluke: Handle gpib_register_driver() errors
  staging: gpib: fmh: Handle gpib_register_driver() errors
  staging: gpib: gpio: Return error value from gpib_register_driver()
  staging: gpib: hp_82335: Return error value from
    gpib_register_driver()
  staging: gpib: hp_82341: Handle gpib_register_driver() errors
  staging: gpib: ines: Handle gpib_register_driver() errors
  staging: gpib: lpvo_usb: Return error value from
    gpib_register_driver()
  staging: gpib: ni_usb: Handle gpib_register_driver() errors
  staging: gpib: pc2: Handle gpib_register_driver() errors
  staging: gpib: tnt4882: Handle gpib_register_driver() errors

 .../gpib/agilent_82350b/agilent_82350b.c      |  23 +++-
 .../gpib/agilent_82357a/agilent_82357a.c      |  16 ++-
 drivers/staging/gpib/cb7210/cb7210.c          | 116 ++++++++++++++----
 drivers/staging/gpib/cec/cec_gpib.c           |   8 +-
 drivers/staging/gpib/common/gpib_os.c         |   7 +-
 drivers/staging/gpib/eastwood/fluke_gpib.c    |  32 ++++-
 drivers/staging/gpib/fmh_gpib/fmh_gpib.c      |  47 +++++--
 drivers/staging/gpib/gpio/gpib_bitbang.c      |   7 +-
 drivers/staging/gpib/hp_82335/hp82335.c       |   8 +-
 drivers/staging/gpib/hp_82341/hp_82341.c      |  17 ++-
 drivers/staging/gpib/include/gpibP.h          |   2 +-
 drivers/staging/gpib/ines/ines_gpib.c         |  94 ++++++++++----
 .../gpib/lpvo_usb_gpib/lpvo_usb_gpib.c        |   6 +-
 drivers/staging/gpib/ni_usb/ni_usb_gpib.c     |  15 ++-
 drivers/staging/gpib/pc2/pc2_gpib.c           |  38 +++++-
 drivers/staging/gpib/tnt4882/tnt4882_gpib.c   | 106 ++++++++++++++--
 16 files changed, 447 insertions(+), 95 deletions(-)

-- 
2.34.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ