Function report |
Source Code:kernel\locking\rwsem.c |
Create Date:2022-07-28 09:48:30 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:lock for writing
Proto:void __sched down_write(struct rw_semaphore *sem)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct rw_semaphore * | sem |
1533 | might_sleep() |
1534 | rwsem_acquire( & dep_map, 0, 0, _RET_IP_) |
Name | Describe |
---|---|
SYSCALL_DEFINE2 | Only setdomainname; getdomainname can be implemented by calling* uname() |
__usermodehelper_set_disable_depth | __usermodehelper_set_disable_depth - Modify usermodehelper_disabled.*@depth: New value to assign to usermodehelper_disabled.* Change the value of usermodehelper_disabled (under umhelper_sem locked for* writing) and wakeup tasks waiting for it to change. |
__usermodehelper_disable | __usermodehelper_disable - Prevent new helpers from being started.*@depth: New value to assign to usermodehelper_disabled.* Set usermodehelper_disabled to @depth and wait for running helpers to exit. |
blocking_notifier_chain_register | locking_notifier_chain_register - Add notifier to a blocking notifier chain*@nh: Pointer to head of the blocking notifier chain*@n: New entry in notifier chain* Adds a notifier to a blocking notifier chain.* Must be called in process context. |
blocking_notifier_chain_unregister | locking_notifier_chain_unregister - Remove notifier from a blocking notifier chain*@nh: Pointer to head of the blocking notifier chain*@n: Entry to remove from notifier chain* Removes a notifier from a blocking notifier chain. |
proc_sched_autogroup_set_nice | |
percpu_down_write | |
torture_rwsem_down_write | |
posix_clock_unregister | |
proc_do_uts_string | Special case of dostring for the UTS structure. This has locks* to observe. Should this be in kernel/sys.c ???? |
send_cpu_listeners | Send taskstats data in @skb to listeners registered for @cpu's exit data |
add_del_listener | |
register_trace_event | gister_trace_event - register output for an event type*@event: the event type to register* Event types are stored in a hash and this hash is used to* find a way to print an event |
unregister_trace_event | register_trace_event - remove a no longer used event*@event: the event to remove |
trace_event_eval_update | |
trace_remove_event_call | Remove an event_call |
trace_module_remove_events | |
event_trace_add_tracer | vent_trace_add_tracer - add a instance of a trace_array to events*@parent: The parent dentry to place the files/directories for events in*@tr: The trace array associated with these events* When a new instance is created, it needs to set up its events |
early_event_add_tracer | The top trace array already had its file descriptors created.* Now the files themselves need to be created. |
event_trace_del_tracer | Must be called with event_mutex held |
bpf_prog_offload_init | |
bpf_prog_offload_destroy | |
bpf_map_offload_map_alloc | |
bpf_map_offload_map_free | |
bpf_offload_dev_netdev_register | |
bpf_offload_dev_netdev_unregister | |
bpf_offload_dev_create | |
consumer_add | |
consumer_del | For uprobe @uprobe, delete the consumer @uc.* Return true if the @uc is deleted successfully* or return false. |
prepare_uprobe | |
register_for_each_vma | |
uprobe_unregister | probe_unregister - unregister an already registered probe.*@inode: the file in which the probe has to be removed.*@offset: offset from the start of the file.*@uc: identify which probe if multiple probes are colocated. |
__uprobe_register | __uprobe_register - register a probe*@inode: the file in which the probe has to be placed |
uprobe_apply | probe_apply - unregister an already registered probe.*@inode: the file in which the probe has to be removed.*@offset: offset from the start of the file.*@uc: consumer which wants to add more or remove some breakpoints*@add: add or remove the breakpoints |
unregister_memcg_shrinker | |
register_shrinker_prepared | |
unregister_shrinker | Remove one |
account_locked_vm | account_locked_vm - account locked pages to an mm's locked_vm*@mm: mm to account against, may be NULL*@pages: number of pages to account*@inc: %true if @pages should be considered positive, %false if not* Assumes a non-NULL @mm is valid (i |
__vmalloc_user_flags | |
put_nommu_region | lease a reference to a region |
do_mmap | handle mapping creation for uClinux |
split_vma | split a vma into two pieces at address 'addr', a new vma is allocated either* for the first part or the tail. |
shrink_vma | shrink a VMA by removing the specified chunk from either the beginning or* the end |
vm_munmap | |
SYSCALL_DEFINE5 | |
nommu_shrink_inode_mappings | mmu_shrink_inode_mappings - Shrink the shared mappings on an inode*@inode: The inode to check*@size: The current filesize of the inode*@newsize: The proposed filesize of the inode* Check the shared mappings on an inode on behalf of a shrinking truncate |
exit_mmap | Release all mmaps. |
lock_anon_vma_root | This is a useful helper function for locking the anon_vma root as* we traverse the vma->anon_vma_chain, looping over anon_vma's that* have the same vma.* Such anon_vma's should have the same root, so you'd expect to see |
mpol_rebind_mm | Rebind each vma in mm to new nodemask.* Call holding a reference to mm. Takes mm->mmap_sem during call. |
do_mbind | |
mmu_notifier_register | mmu_notifier_register - Register a notifier on a mm*@mn: The notifier to attach*@mm: The mm to attach the notifier to* Must not hold mmap_sem nor any other VM related lock when calling* this registration function |
__ksm_exit | |
__khugepaged_exit | |
collapse_huge_page | |
ipcget_public | pcget_public - get an ipc object or create a new one*@ns: ipc namespace*@ids: ipc identifier set*@ops: the actual creation routine to call*@params: its parameters* This routine is called by sys_msgget, sys_semget() and sys_shmget() |
msgctl_down | This function handles some msgctl commands which require the rwsem* to be held in write mode.* NOTE: no locks must be held, the rwsem is taken inside this function. |
semctl_down | This function handles some semctl commands which require the rwsem* to be held in write mode.* NOTE: no locks must be held, the rwsem is taken inside this function. |
shm_close | |
shm_destroy_orphaned | |
exit_shm | Locking assumes this will only be called with task == current |
shmctl_down | This function handles some shmctl commands which require the rwsem* to be held in write mode.* NOTE: no locks must be held, the rwsem is taken inside this function. |
do_shmat | Fix shmaddr, allocate descriptor, map shm, add attach descriptor to lists.* NOTE! Despite the name, this is NOT a direct system call entrypoint. The* "raddr" thing points to kernel space, and there has to be a wrapper around* this. |
free_ipcs | _ipcs - free all ipcs of one type*@ns: the namespace to remove the ipcs from*@ids: the table of ipcs to free*@free: the function called to free each individual ipc* Called for each kind of ipc when an ipc_namespace exits. |
key_set_timeout | |
__key_update | Attempt to update an existing key.* The key is given to us with an incremented refcount that we need to discard* if we get an error. |
key_update | key_update - Update a key's contents.*@key_ref: The pointer (plus possession flag) to the key.*@payload: The data to be used to update the key.*@plen: The length of @payload.* Attempt to update the contents of a key with the given payload data. The |
register_key_type | gister_key_type - Register a type of key.*@ktype: The new key type.* Register a new key type.* Returns 0 on success or -EEXIST if a type of this name already exists. |
unregister_key_type | register_key_type - Unregister a type of key.*@ktype: The key type.* Unregister a key type and mark all the extant keys of this type as dead.* Those keys of this type are then destroyed to get rid of their payloads and |
keyring_restrict | keyring_restrict - Look up and apply a restriction to a keyring*@keyring_ref: The keyring to be restricted*@type: The key type that will provide the restriction checker.*@restriction: The restriction options to apply to the keyring |
__key_link_lock | Lock keyring for link. |
__key_move_lock | Lock keyrings for move (link/unlink combination). |
__key_unlink_lock | Lock a keyring for unlink. |
keyring_clear | keyring_clear - Clear a keyring*@keyring: The keyring to clear.* Clear the contents of the specified keyring.* Returns 0 if successful or -ENOTDIR if the keyring isn't a keyring. |
keyring_gc | Garbage collect pointers from a keyring.* Not called with any locks held. The keyring's key struct will not be* deallocated under us as only our caller may deallocate it. |
keyring_restriction_gc | Garbage collect restriction pointers from a keyring |
keyctl_chown_key | Change the ownership of a key* The key must grant the caller Setattr permission for this to work, though* the key need not be fully instantiated yet. For the UID to be changed, or* for the GID to be changed to a group the caller is not a member of, the |
keyctl_setperm_key | Change the permission mask on a key.* The key must grant the caller Setattr permission for this to work, though* the key need not be fully instantiated yet. If the caller does not have |
get_user_register | Get or create a user register keyring. |
look_up_user_keyrings | Look up the user and user session keyrings for the current process's UID,* creating them if they don't exist. |
key_fsuid_changed | Handle the fsuid changing. |
key_fsgid_changed | Handle the fsgid changing. |
key_get_persistent | Get the persistent keyring for a specific UID and link it to the nominated* keyring. |
grab_super | grab_super - acquire an active reference*@s: reference we are trying to make active* Tries to acquire an active reference. grab_super() is used when we* had just found a superblock in super_blocks or fs_type->fs_supers |
__get_super | |
reconfigure_super | gure_super - asks filesystem to change superblock parameters*@fc: The superblock and configuration* Alters the configuration parameters of a live superblock. |
do_emergency_remount_callback | |
do_thaw_all_callback | |
get_tree_bdev | get_tree_bdev - Get a superblock based on a single block device*@fc: The filesystem context holding the parameters*@fill_super: Helper to initialise a new superblock |
mount_bdev | |
freeze_super | ze_super - lock the filesystem and force it into a consistent state*@sb: the super to lock* Syncs the super to make sure the filesystem is consistent and calls the fs's* freeze_fs. Subsequent calls to this without first thawing the fs will return* -EBUSY. |
thaw_super | |
namespace_lock | |
do_umount_root | |
do_reconfigure_mnt | Handle reconfiguration of the mountpoint only without alteration of the* superblock it refers to. This is triggered by specifying MS_REMOUNT|MS_BIND* to mount(2). |
do_remount | hange filesystem flags. dir should be a physical root of filesystem.* If you've mounted a non-root directory somewhere and want to do remount* on it - tough luck. |
mount_subtree | |
vfs_fsconfig_locked | Check the state and apply the configuration. Note that this function is* allowed to 'steal' the value by setting param->xxx to NULL before returning. |
userfaultfd_event_wait_completion | |
userfaultfd_release | |
userfaultfd_register | |
userfaultfd_unregister | |
add_existing_master_key | |
add_master_key | |
do_remove_key | Try to remove an fscrypt master encryption key |
v1_write_file_info | |
v2_write_file_info | Write information header to quota file |
v2_write_dquot | |
v2_release_dquot |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |