Page MenuHomeFreeBSD

D30340.id89449.diff
No OneTemporary

D30340.id89449.diff

Index: sys/kern/kern_ktrace.c
===================================================================
--- sys/kern/kern_ktrace.c
+++ sys/kern/kern_ktrace.c
@@ -699,8 +699,7 @@
}
void
-ktrnamei(path)
- char *path;
+ktrnamei(const char *path)
{
struct ktr_request *req;
int namelen;
@@ -1018,7 +1017,6 @@
return (EINVAL);
kiop = NULL;
- ktrace_enter(td);
if (ops != KTROP_CLEAR) {
/*
* an operation which requires a file argument.
@@ -1026,24 +1024,23 @@
NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_USERSPACE, uap->fname, td);
flags = FREAD | FWRITE | O_NOFOLLOW;
error = vn_open(&nd, &flags, 0, NULL);
- if (error) {
- ktrace_exit(td);
+ if (error)
return (error);
- }
NDFREE(&nd, NDF_ONLY_PNBUF);
vp = nd.ni_vp;
VOP_UNLOCK(vp);
if (vp->v_type != VREG) {
- (void) vn_close(vp, FREAD|FWRITE, td->td_ucred, td);
- ktrace_exit(td);
+ (void)vn_close(vp, FREAD|FWRITE, td->td_ucred, td);
return (EACCES);
}
kiop = ktr_io_params_alloc(td, vp);
kiop->refs++;
}
+
/*
* Clear all uses of the tracefile.
*/
+ ktrace_enter(td);
if (ops == KTROP_CLEARFILE) {
restart:
sx_slock(&allproc_lock);
Index: sys/sys/ktrace.h
===================================================================
--- sys/sys/ktrace.h
+++ sys/sys/ktrace.h
@@ -269,7 +269,7 @@
struct vnode *ktr_get_tracevp(struct proc *, bool);
void ktr_io_params_free(struct ktr_io_params *);
-void ktrnamei(char *);
+void ktrnamei(const char *);
void ktrcsw(int, int, const char *);
void ktrpsig(int, sig_t, sigset_t *, int);
void ktrfault(vm_offset_t, int);

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 19, 4:23 PM (22 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29969422
Default Alt Text
D30340.id89449.diff (1 KB)

Event Timeline