Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F131565662
D43273.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D43273.diff
View Options
diff --git a/comms/opencbm-kmod/Makefile b/comms/opencbm-kmod/Makefile
--- a/comms/opencbm-kmod/Makefile
+++ b/comms/opencbm-kmod/Makefile
@@ -1,5 +1,6 @@
PORTNAME= opencbm-kmod
PORTVERSION= ${OCBM_VERSION}
+PORTREVISION= 1
CATEGORIES= comms archivers
MAINTAINER= zirias@FreeBSD.org
diff --git a/comms/opencbm-kmod/files/patch-compat-freebsd-14 b/comms/opencbm-kmod/files/patch-compat-freebsd-14
deleted file mode 100644
--- a/comms/opencbm-kmod/files/patch-compat-freebsd-14
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6e438c1b32d39e5238f65246e192c89b22fdfd82 Mon Sep 17 00:00:00 2001
-From: John Baldwin <jhb@FreeBSD.org>
-Date: Fri, 20 May 2022 17:10:09 +0000
-Subject: [PATCH] FreeBSD kernel driver: compat with 14-CURRENT
-
-In 14-CURRENT (upcoming major release), there was a slight change to the
-driver API at version 1400058.
-
-Add conditional code to retain compatibility.
---- opencbm.c.orig 2022-01-22 22:01:25 UTC
-+++ opencbm.c
-@@ -133,8 +133,6 @@ static struct cdevsw cbm_cdevsw = {
- .d_name = CBM_NAME
- };
-
--static devclass_t cbm_devclass;
--
- /* forward references for parallel burst routines */
- int cbm_parallel_burst_read_track(struct cbm_data *sc, device_t ppbus,
- unsigned char *buffer);
-@@ -930,7 +928,13 @@ static driver_t cbm_driver = {
- sizeof(struct cbm_data)
- };
-
-+#if __FreeBSD_version >= 1400058
-+DRIVER_MODULE(cbm, ppbus, cbm_driver, 0, 0);
-+#else
-+static devclass_t cbm_devclass;
-+
- DRIVER_MODULE(cbm, ppbus, cbm_driver, cbm_devclass, 0, 0);
-+#endif
- MODULE_DEPEND(cbm, ppbus, 1, 1, 1);
-
- /*
diff --git a/comms/opencbm-kmod/files/patch-opencbm.c b/comms/opencbm-kmod/files/patch-opencbm.c
new file mode 100644
--- /dev/null
+++ b/comms/opencbm-kmod/files/patch-opencbm.c
@@ -0,0 +1,54 @@
+--- opencbm.c.orig 2022-01-22 22:01:25 UTC
++++ opencbm.c
+@@ -133,8 +133,6 @@ static struct cdevsw cbm_cdevsw = {
+ .d_name = CBM_NAME
+ };
+
+-static devclass_t cbm_devclass;
+-
+ /* forward references for parallel burst routines */
+ int cbm_parallel_burst_read_track(struct cbm_data *sc, device_t ppbus,
+ unsigned char *buffer);
+@@ -699,7 +697,7 @@ cbm_ioctl(struct cdev *dev, u_long cmd, caddr_t data,
+ break;
+ }
+ rv = !cbm_parallel_burst_read_track(sc, ppbus, sc->sc_buf);
+- if (!rv) copyout(sc->sc_buf, val->buffer, BUFFER_SIZE);
++ if (!rv) rv = copyout(sc->sc_buf, val->buffer, BUFFER_SIZE);
+ break;
+
+ case CBMCTRL_PARBURST_READ_TRACK_VAR:
+@@ -710,7 +708,7 @@ cbm_ioctl(struct cdev *dev, u_long cmd, caddr_t data,
+ break;
+ }
+ rv = !cbm_parallel_burst_read_track_var(sc, ppbus, sc->sc_buf);
+- if (!rv) copyout(sc->sc_buf, val->buffer, BUFFER_SIZE);
++ if (!rv) rv = copyout(sc->sc_buf, val->buffer, BUFFER_SIZE);
+ break;
+
+ case CBMCTRL_PARBURST_WRITE_TRACK:
+@@ -720,7 +718,9 @@ cbm_ioctl(struct cdev *dev, u_long cmd, caddr_t data,
+ rv = EINVAL;
+ break;
+ }
+- copyin(val->buffer, sc->sc_buf, val->length);
++ rv = copyin(val->buffer, sc->sc_buf, val->length);
++ if (rv)
++ break;
+ rv = !cbm_parallel_burst_write_track(sc, ppbus,
+ val->buffer, val->length);
+ break;
+@@ -930,7 +930,13 @@ static driver_t cbm_driver = {
+ sizeof(struct cbm_data)
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(cbm, ppbus, cbm_driver, 0, 0);
++#else
++static devclass_t cbm_devclass;
++
+ DRIVER_MODULE(cbm, ppbus, cbm_driver, cbm_devclass, 0, 0);
++#endif
+ MODULE_DEPEND(cbm, ppbus, 1, 1, 1);
+
+ /*
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Oct 10, 7:57 AM (21 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23524229
Default Alt Text
D43273.diff (3 KB)
Attached To
Mode
D43273: comms/opencbm-kmod: Add error handling for copyin() and copyout() calls
Attached
Detach File
Event Timeline
Log In to Comment