Symbol: nsm
drivers/misc/nsm.c
151
static int fill_req_raw(struct nsm *nsm, struct nsm_data_req *req,
drivers/misc/nsm.c
169
static int parse_resp_raw(struct nsm *nsm, struct nsm_data_resp *resp,
drivers/misc/nsm.c
186
struct nsm *nsm = vq->vdev->priv;
drivers/misc/nsm.c
188
complete(&nsm->cmd_done);
drivers/misc/nsm.c
192
static int nsm_sendrecv_msg_locked(struct nsm *nsm)
drivers/misc/nsm.c
194
struct device *dev = &nsm->vdev->dev;
drivers/misc/nsm.c
196
struct nsm_msg *msg = &nsm->msg;
drivers/misc/nsm.c
197
struct virtqueue *vq = nsm->vq;
drivers/misc/nsm.c
207
init_completion(&nsm->cmd_done);
drivers/misc/nsm.c
226
if (!wait_for_completion_io_timeout(&nsm->cmd_done,
drivers/misc/nsm.c
260
static int fill_req_get_random(struct nsm *nsm, struct nsm_data_req *req)
drivers/misc/nsm.c
275
static int parse_resp_get_random(struct nsm *nsm, struct nsm_data_resp *resp,
drivers/misc/nsm.c
293
struct device *dev = &nsm->vdev->dev;
drivers/misc/nsm.c
325
struct nsm *nsm = hwrng_to_nsm(rng);
drivers/misc/nsm.c
326
struct device *dev = &nsm->vdev->dev;
drivers/misc/nsm.c
333
mutex_lock(&nsm->lock);
drivers/misc/nsm.c
335
rc = fill_req_get_random(nsm, &nsm->msg.req);
drivers/misc/nsm.c
339
rc = nsm_sendrecv_msg_locked(nsm);
drivers/misc/nsm.c
343
rc = parse_resp_get_random(nsm, &nsm->msg.resp, data, max);
drivers/misc/nsm.c
349
mutex_unlock(&nsm->lock);
drivers/misc/nsm.c
357
struct nsm *nsm = file_to_nsm(file);
drivers/misc/nsm.c
372
mutex_lock(&nsm->lock);
drivers/misc/nsm.c
375
r = fill_req_raw(nsm, &nsm->msg.req, &raw);
drivers/misc/nsm.c
380
r = nsm_sendrecv_msg_locked(nsm);
drivers/misc/nsm.c
385
r = parse_resp_raw(nsm, &nsm->msg.resp, &raw);
drivers/misc/nsm.c
397
mutex_unlock(&nsm->lock);
drivers/misc/nsm.c
405
struct nsm *nsm = vdev->priv;
drivers/misc/nsm.c
410
nsm->vq = vq;
drivers/misc/nsm.c
424
struct nsm *nsm;
drivers/misc/nsm.c
427
nsm = devm_kzalloc(&vdev->dev, sizeof(*nsm), GFP_KERNEL);
drivers/misc/nsm.c
428
if (!nsm)
drivers/misc/nsm.c
431
vdev->priv = nsm;
drivers/misc/nsm.c
432
nsm->vdev = vdev;
drivers/misc/nsm.c
440
mutex_init(&nsm->lock);
drivers/misc/nsm.c
443
nsm->hwrng = (struct hwrng) {
drivers/misc/nsm.c
449
rc = hwrng_register(&nsm->hwrng);
drivers/misc/nsm.c
456
nsm->misc = (struct miscdevice) {
drivers/misc/nsm.c
463
rc = misc_register(&nsm->misc);
drivers/misc/nsm.c
472
hwrng_unregister(&nsm->hwrng);
drivers/misc/nsm.c
482
struct nsm *nsm = vdev->priv;
drivers/misc/nsm.c
484
hwrng_unregister(&nsm->hwrng);
drivers/misc/nsm.c
487
misc_deregister(&nsm->misc);
drivers/misc/nsm.c
67
static struct nsm *file_to_nsm(struct file *file)
drivers/misc/nsm.c
69
return container_of(file->private_data, struct nsm, misc);
drivers/misc/nsm.c
72
static struct nsm *hwrng_to_nsm(struct hwrng *rng)
drivers/misc/nsm.c
74
return container_of(rng, struct nsm, hwrng);
drivers/rpmsg/virtio_rpmsg_bus.c
325
struct rpmsg_ns_msg nsm;
drivers/rpmsg/virtio_rpmsg_bus.c
327
strscpy_pad(nsm.name, rpdev->id.name, sizeof(nsm.name));
drivers/rpmsg/virtio_rpmsg_bus.c
328
nsm.addr = cpu_to_rpmsg32(rpdev, rpdev->ept->addr);
drivers/rpmsg/virtio_rpmsg_bus.c
329
nsm.flags = cpu_to_rpmsg32(rpdev, RPMSG_NS_CREATE);
drivers/rpmsg/virtio_rpmsg_bus.c
331
err = rpmsg_sendto(rpdev->ept, &nsm, sizeof(nsm), RPMSG_NS_ADDR);
drivers/rpmsg/virtio_rpmsg_bus.c
349
struct rpmsg_ns_msg nsm;
drivers/rpmsg/virtio_rpmsg_bus.c
351
strscpy_pad(nsm.name, rpdev->id.name, sizeof(nsm.name));
drivers/rpmsg/virtio_rpmsg_bus.c
352
nsm.addr = cpu_to_rpmsg32(rpdev, rpdev->ept->addr);
drivers/rpmsg/virtio_rpmsg_bus.c
353
nsm.flags = cpu_to_rpmsg32(rpdev, RPMSG_NS_DESTROY);
drivers/rpmsg/virtio_rpmsg_bus.c
355
err = rpmsg_sendto(rpdev->ept, &nsm, sizeof(nsm), RPMSG_NS_ADDR);
fs/lockd/host.c
112
struct nsm_handle *nsm)
fs/lockd/host.c
117
if (nsm != NULL)
fs/lockd/host.c
118
refcount_inc(&nsm->sm_count);
fs/lockd/host.c
120
nsm = nsm_get_handle(ni->net, ni->sap, ni->salen,
fs/lockd/host.c
122
if (unlikely(nsm == NULL)) {
fs/lockd/host.c
132
nsm_release(nsm);
fs/lockd/host.c
142
host->h_name = nsm->sm_name;
fs/lockd/host.c
162
host->h_nsmhandle = nsm;
fs/lockd/host.c
163
host->h_addrbuf = nsm->sm_addrbuf;
fs/lockd/host.c
238
struct nsm_handle *nsm = NULL;
fs/lockd/host.c
255
if (nsm == NULL)
fs/lockd/host.c
256
nsm = host->h_nsmhandle;
fs/lockd/host.c
269
host = nlm_alloc_host(&ni, nsm);
fs/lockd/host.c
333
struct nsm_handle *nsm = NULL;
fs/lockd/host.c
366
if (nsm == NULL)
fs/lockd/host.c
367
nsm = host->h_nsmhandle;
fs/lockd/host.c
386
host = nlm_alloc_host(&ni, nsm);
fs/lockd/host.c
525
struct nsm_handle *nsm,
fs/lockd/host.c
533
if (host->h_nsmhandle == nsm
fs/lockd/host.c
558
struct nsm_handle *nsm;
fs/lockd/host.c
561
nsm = nsm_reboot_lookup(net, info);
fs/lockd/host.c
562
if (unlikely(nsm == NULL))
fs/lockd/host.c
570
while ((host = next_host_state(nlm_server_hosts, nsm, info)) != NULL) {
fs/lockd/host.c
574
while ((host = next_host_state(nlm_client_hosts, nsm, info)) != NULL) {
fs/lockd/host.c
579
nsm_release(nsm);
fs/lockd/mon.c
101
.mon_name = nsm->sm_mon_name,
fs/lockd/mon.c
150
struct nsm_handle *nsm = host->h_nsmhandle;
fs/lockd/mon.c
154
dprintk("lockd: nsm_monitor(%s)\n", nsm->sm_name);
fs/lockd/mon.c
156
if (nsm->sm_monitored)
fs/lockd/mon.c
163
nsm->sm_mon_name = nsm_use_hostnames ? nsm->sm_name : nsm->sm_addrbuf;
fs/lockd/mon.c
165
status = nsm_mon_unmon(nsm, NSMPROC_MON, &res, host);
fs/lockd/mon.c
169
pr_notice_ratelimited("lockd: cannot monitor %s\n", nsm->sm_name);
fs/lockd/mon.c
173
nsm->sm_monitored = 1;
fs/lockd/mon.c
191
struct nsm_handle *nsm = host->h_nsmhandle;
fs/lockd/mon.c
195
if (refcount_read(&nsm->sm_count) == 1
fs/lockd/mon.c
196
&& nsm->sm_monitored && !nsm->sm_sticky) {
fs/lockd/mon.c
197
dprintk("lockd: nsm_unmonitor(%s)\n", nsm->sm_name);
fs/lockd/mon.c
199
status = nsm_mon_unmon(nsm, NSMPROC_UNMON, &res, host);
fs/lockd/mon.c
204
nsm->sm_name);
fs/lockd/mon.c
206
nsm->sm_monitored = 0;
fs/lockd/mon.c
213
struct nsm_handle *nsm;
fs/lockd/mon.c
215
list_for_each_entry(nsm, nsm_handles, sm_link)
fs/lockd/mon.c
216
if (strlen(nsm->sm_name) == len &&
fs/lockd/mon.c
217
memcmp(nsm->sm_name, hostname, len) == 0)
fs/lockd/mon.c
218
return nsm;
fs/lockd/mon.c
225
struct nsm_handle *nsm;
fs/lockd/mon.c
227
list_for_each_entry(nsm, nsm_handles, sm_link)
fs/lockd/mon.c
228
if (rpc_cmp_addr(nsm_addr(nsm), sap))
fs/lockd/mon.c
229
return nsm;
fs/lockd/mon.c
236
struct nsm_handle *nsm;
fs/lockd/mon.c
238
list_for_each_entry(nsm, nsm_handles, sm_link)
fs/lockd/mon.c
239
if (memcmp(nsm->sm_priv.data, priv->data,
fs/lockd/mon.c
241
return nsm;
fs/lockd/mon.c
262
static void nsm_init_private(struct nsm_handle *nsm)
fs/lockd/mon.c
264
u64 *p = (u64 *)&nsm->sm_priv.data;
fs/lockd/mon.c
269
put_unaligned((unsigned long)nsm, p + 1);
fs/lockd/mon.c
409
void nsm_release(struct nsm_handle *nsm)
fs/lockd/mon.c
411
if (refcount_dec_and_lock(&nsm->sm_count, &nsm_lock)) {
fs/lockd/mon.c
412
list_del(&nsm->sm_link);
fs/lockd/mon.c
415
nsm->sm_name, nsm->sm_addrbuf);
fs/lockd/mon.c
416
kfree(nsm);
fs/lockd/mon.c
63
static inline struct sockaddr *nsm_addr(const struct nsm_handle *nsm)
fs/lockd/mon.c
65
return (struct sockaddr *)&nsm->sm_addr;
fs/lockd/mon.c
91
static int nsm_mon_unmon(struct nsm_handle *nsm, u32 proc, struct nsm_res *res,
fs/lockd/mon.c
97
.priv = &nsm->sm_priv,
include/linux/lockd/lockd.h
266
void nsm_release(struct nsm_handle *nsm);