# Bug report

### Bug description:

By https://github.com/python/cpython/blob/96b392d/Modules/posixmodule.c#L4274, if `follow_symlinks = True`, Python will choose to call syscall `link` rather than `linkat`. However, the behavior of `link` will **have `AT_SYMLINK_FOLLOW` unset**, which leads an opposite behavior.

```python
import os
os.link('link', 'another-file')
```
<img width="501" alt="wrong implementation of follow_symlinks" src="https://github.com/python/cpython/assets/31309196/c68b14ec-8578-496d-97c7-7c30a189955b">


### CPython versions tested on:

CPython main branch

### Operating systems tested on:

Linux
```[tasklist]
### Tasks
```


<!-- gh-linked-prs -->
### Linked PRs
* gh-119886
<!-- /gh-linked-prs -->

Wrong `follow_symlinks` default fallback implementation
This is a GitHub Issue
repo:cpython
owner:python
Title : Wrong `follow_symlinks` default fallback implementation
Issue date:

--- start body ---
# Bug report

### Bug description:

By https://github.com/python/cpython/blob/96b392d/Modules/posixmodule.c#L4274, if `follow_symlinks = True`, Python will choose to call syscall `link` rather than `linkat`. However, the behavior of `link` will **have `AT_SYMLINK_FOLLOW` unset**, which leads an opposite behavior.

```python
import os
os.link('link', 'another-file')
```
<img width="501" alt="wrong implementation of follow_symlinks" src="https://github.com/python/cpython/assets/31309196/c68b14ec-8578-496d-97c7-7c30a189955b">


### CPython versions tested on:

CPython main branch

### Operating systems tested on:

Linux
```[tasklist]
### Tasks
```


<!-- gh-linked-prs -->
### Linked PRs
* gh-119886
<!-- /gh-linked-prs -->

--- end body ---
